Browse Source

feat(use-drawer): add closeDrawer function

Vben 3 năm trước cách đây
mục cha
commit
639520ad5d

+ 1 - 0
CHANGELOG.zh_CN.md

@@ -4,6 +4,7 @@
 
 - `Cropper` 头像裁剪新增圆形裁剪功能
 - 新增头像上传组件
+- `useDrawer`新增`closeDrawer`函数
 
 ## 2.4.2(2021-06-10)
 

+ 0 - 5
src/components/Drawer/src/props.ts

@@ -35,15 +35,10 @@ export const basicProps = {
   getContainer: {
     type: [Object, String] as PropType<any>,
   },
-  scrollOptions: {
-    type: Object as PropType<any>,
-    default: null,
-  },
   closeFunc: {
     type: [Function, Object] as PropType<any>,
     default: null,
   },
-  triggerWindowResize: { type: Boolean },
   destroyOnClose: { type: Boolean },
   ...footerProps,
 };

+ 1 - 0
src/components/Drawer/src/typing.ts

@@ -9,6 +9,7 @@ export interface DrawerInstance {
 
 export interface ReturnMethods extends DrawerInstance {
   openDrawer: <T = any>(visible?: boolean, data?: T, openOnSet?: boolean) => void;
+  closeDrawer: () => void;
   getVisible?: ComputedRef<boolean>;
 }
 

+ 3 - 0
src/components/Drawer/src/useDrawer.ts

@@ -92,6 +92,9 @@ export function useDrawer(): UseDrawerReturnType {
         dataTransferRef[unref(uid)] = toRaw(data);
       }
     },
+    closeDrawer: () => {
+      getInstance()?.setDrawerProps({ visible: false });
+    },
   };
 
   return [register, methods];

+ 1 - 11
src/views/demo/comp/drawer/index.vue

@@ -39,19 +39,9 @@
       const [register1, { openDrawer: openDrawer1, setDrawerProps }] = useDrawer();
       const [register2, { openDrawer: openDrawer2 }] = useDrawer();
       const [register3, { openDrawer: openDrawer3 }] = useDrawer();
-      const [
-        register4,
-        {
-          openDrawer: openDrawer4,
-          // ransferDrawerData
-        },
-      ] = useDrawer();
+      const [register4, { openDrawer: openDrawer4 }] = useDrawer();
       const [register5, { openDrawer: openDrawer5 }] = useDrawer();
       function send() {
-        // transferDrawerData({
-        //   data: 'content',
-        //   info: 'Info',
-        // });
         openDrawer4(true, {
           data: 'content',
           info: 'Info',