Przeglądaj źródła

fix: fix nav tooltip delay no effect (#1511)

代强 2 lat temu
rodzic
commit
8f42e337b5

+ 4 - 2
packages/semi-ui/navigation/Item.tsx

@@ -158,14 +158,16 @@ export default class NavItem extends BaseComponent<NavItemProps, NavItemState> {
 
 
     wrapTooltip = (node: React.ReactNode) => {
     wrapTooltip = (node: React.ReactNode) => {
         const { text, tooltipHideDelay, tooltipShowDelay } = this.props;
         const { text, tooltipHideDelay, tooltipShowDelay } = this.props;
+        const hideDelay = tooltipHideDelay ?? this.context.tooltipHideDelay;
+        const showDelay = tooltipShowDelay ?? this.context.tooltipShowDelay;
 
 
         return (
         return (
             <Tooltip
             <Tooltip
                 content={text}
                 content={text}
                 position="right"
                 position="right"
                 trigger={'hover'}
                 trigger={'hover'}
-                mouseEnterDelay={tooltipShowDelay}
-                mouseLeaveDelay={tooltipHideDelay}
+                mouseEnterDelay={showDelay}
+                mouseLeaveDelay={hideDelay}
             >
             >
                 {node}
                 {node}
             </Tooltip>
             </Tooltip>

+ 3 - 1
packages/semi-ui/navigation/nav-context.ts

@@ -22,7 +22,9 @@ export interface NavContextType {
     subNavOpenDelay?: NavProps['subNavOpenDelay'];
     subNavOpenDelay?: NavProps['subNavOpenDelay'];
     canUpdateOpenKeys?: boolean;
     canUpdateOpenKeys?: boolean;
     renderWrapper?: NavProps['renderWrapper'];
     renderWrapper?: NavProps['renderWrapper'];
-    getPopupContainer?: DropdownProps['getPopupContainer']
+    getPopupContainer?: DropdownProps['getPopupContainer'];
+    tooltipShowDelay?: number;
+    tooltipHideDelay?: number
 }
 }
 
 
 const NavContext = React.createContext<NavContextType>({
 const NavContext = React.createContext<NavContextType>({