浏览代码

refactor: 调整useDrawer返回按钮渲染逻辑

lanjianrong 2 年之前
父节点
当前提交
ed15d69385
共有 2 个文件被更改,包括 7 次插入7 次删除
  1. 2 0
      src/components/Drawer/index.less
  2. 5 7
      src/components/Drawer/index.tsx

+ 2 - 0
src/components/Drawer/index.less

@@ -10,4 +10,6 @@
   :global(.ant-drawer-body) {
     padding: 0 24px;
   }
+  :global(.ant-drawer-close) {
+  }
 }

+ 5 - 7
src/components/Drawer/index.tsx

@@ -8,13 +8,13 @@ import React, {
   useImperativeHandle,
   useId
 } from 'react'
-import { Button, Drawer, PageHeader } from 'antd'
+import { Drawer, PageHeader } from 'antd'
 import { useModel } from '@umijs/max'
 import type { DrawerProps } from 'antd'
 
 import styles from './index.less'
 import classNames from 'classnames'
-import { isNullOrUnDef } from '@/utils/is'
+import { isDef } from '@/utils/is'
 type DrawerHocProps = {
   mode?: 'default' | 'innerEdge'
 } & DrawerProps
@@ -80,7 +80,6 @@ const DrawerHoc = memo(
       title,
       mask,
       push = false,
-      destroyOnClose = true,
       ...reset
     } = drawerProps
 
@@ -114,9 +113,9 @@ const DrawerHoc = memo(
     )
 
     const mergedCloseIcon = useMemo(() => {
-      if (!isNullOrUnDef(closeIcon)) return closeIcon
-      return mode === 'innerEdge' ? <Button onClick={onClose}>返回</Button> : closeIcon, [mode, closeIcon]
-    })
+      if (isDef(closeIcon)) return closeIcon
+      return mode === 'innerEdge' ? <div className="ant-btn ant-btn-default">返回</div> : closeIcon
+    }, [mode, closeIcon])
 
     const mergedMask = useMemo(() => (mode === 'innerEdge' ? false : mask), [mode, mask])
     return (
@@ -125,7 +124,6 @@ const DrawerHoc = memo(
         className={mergedClassName}
         title={mergedTitle}
         mask={mergedMask}
-        destroyOnClose={destroyOnClose}
         push={push}
         width={mergedWidth}
         style={mergedStyle}