From 69640c0af880e9e1a7793dabf51794be758b89cd Mon Sep 17 00:00:00 2001 From: Cherry7 <79909910+CCherry07@users.noreply.github.com> Date: Wed, 3 May 2023 14:15:34 +0800 Subject: [PATCH] feat(modal): add useModal (#6517) * feat(modal): add useModal hook * feat(modal): add HookModal demo * test(modal): update HookModal demo snap * feat(modal): update modal docs * chore(modal): update modal type --- components/modal/Modal.tsx | 3 +- .../__tests__/__snapshots__/demo.test.js.snap | 12 ++ components/modal/confirm.tsx | 3 +- components/modal/demo/HookModal.vue | 101 ++++++++++++ components/modal/demo/index.vue | 3 + components/modal/destroyFns.ts | 2 + components/modal/index.en-US.md | 41 +++-- components/modal/index.tsx | 9 +- components/modal/index.zh-CN.md | 41 +++-- components/modal/useModal/HookModal.tsx | 73 +++++++++ components/modal/useModal/index.tsx | 150 ++++++++++++++++++ 11 files changed, 414 insertions(+), 24 deletions(-) create mode 100644 components/modal/demo/HookModal.vue create mode 100644 components/modal/destroyFns.ts create mode 100644 components/modal/useModal/HookModal.tsx create mode 100644 components/modal/useModal/index.tsx diff --git a/components/modal/Modal.tsx b/components/modal/Modal.tsx index 695a63dd1..e469f0e1e 100644 --- a/components/modal/Modal.tsx +++ b/components/modal/Modal.tsx @@ -149,8 +149,6 @@ export interface ModalLocale { justOkText: string; } -export const destroyFns = []; - export default defineComponent({ compatConfig: { MODE: 3 }, name: 'AModal', @@ -167,6 +165,7 @@ export default defineComponent({ props, ); const [wrapSSR, hashId] = useStyle(prefixCls); + warning( props.visible === undefined, 'Modal', diff --git a/components/modal/__tests__/__snapshots__/demo.test.js.snap b/components/modal/__tests__/__snapshots__/demo.test.js.snap index 2ded29922..d96f05e0e 100644 --- a/components/modal/__tests__/__snapshots__/demo.test.js.snap +++ b/components/modal/__tests__/__snapshots__/demo.test.js.snap @@ -1,5 +1,17 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`renders ./components/modal/demo/HookModal.vue correctly 1`] = ` +
+`; + exports[`renders ./components/modal/demo/async.vue correctly 1`] = `