Commit 639520ad5ddf829875ab517067abf2b45ebc04c2

Authored by Vben
1 parent c7c95dd2

feat(use-drawer): add closeDrawer function

CHANGELOG.zh_CN.md
... ... @@ -4,6 +4,7 @@
4 4  
5 5 - `Cropper` 头像裁剪新增圆形裁剪功能
6 6 - 新增头像上传组件
  7 +- `useDrawer`新增`closeDrawer`函数
7 8  
8 9 ## 2.4.2(2021-06-10)
9 10  
... ...
src/components/Drawer/src/props.ts
... ... @@ -35,15 +35,10 @@ export const basicProps = {
35 35 getContainer: {
36 36 type: [Object, String] as PropType<any>,
37 37 },
38   - scrollOptions: {
39   - type: Object as PropType<any>,
40   - default: null,
41   - },
42 38 closeFunc: {
43 39 type: [Function, Object] as PropType<any>,
44 40 default: null,
45 41 },
46   - triggerWindowResize: { type: Boolean },
47 42 destroyOnClose: { type: Boolean },
48 43 ...footerProps,
49 44 };
... ...
src/components/Drawer/src/typing.ts
... ... @@ -9,6 +9,7 @@ export interface DrawerInstance {
9 9  
10 10 export interface ReturnMethods extends DrawerInstance {
11 11 openDrawer: <T = any>(visible?: boolean, data?: T, openOnSet?: boolean) => void;
  12 + closeDrawer: () => void;
12 13 getVisible?: ComputedRef<boolean>;
13 14 }
14 15  
... ...
src/components/Drawer/src/useDrawer.ts
... ... @@ -92,6 +92,9 @@ export function useDrawer(): UseDrawerReturnType {
92 92 dataTransferRef[unref(uid)] = toRaw(data);
93 93 }
94 94 },
  95 + closeDrawer: () => {
  96 + getInstance()?.setDrawerProps({ visible: false });
  97 + },
95 98 };
96 99  
97 100 return [register, methods];
... ...
src/views/demo/comp/drawer/index.vue
... ... @@ -39,19 +39,9 @@
39 39 const [register1, { openDrawer: openDrawer1, setDrawerProps }] = useDrawer();
40 40 const [register2, { openDrawer: openDrawer2 }] = useDrawer();
41 41 const [register3, { openDrawer: openDrawer3 }] = useDrawer();
42   - const [
43   - register4,
44   - {
45   - openDrawer: openDrawer4,
46   - // ransferDrawerData
47   - },
48   - ] = useDrawer();
  42 + const [register4, { openDrawer: openDrawer4 }] = useDrawer();
49 43 const [register5, { openDrawer: openDrawer5 }] = useDrawer();
50 44 function send() {
51   - // transferDrawerData({
52   - // data: 'content',
53   - // info: 'Info',
54   - // });
55 45 openDrawer4(true, {
56 46 data: 'content',
57 47 info: 'Info',
... ...