瀏覽代碼

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

代强 2 年之前
父節點
當前提交
8f42e337b5
共有 2 個文件被更改,包括 7 次插入3 次删除
  1. 4 2
      packages/semi-ui/navigation/Item.tsx
  2. 3 1
      packages/semi-ui/navigation/nav-context.ts

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

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

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

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