From 42f5a36145622908f0c9acaf51b9a0e9e97c6016 Mon Sep 17 00:00:00 2001 From: xiaoxian521 <1923740402@qq.com> Date: Mon, 8 May 2023 20:04:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E5=BC=8F=E5=BC=B9=E6=A1=86=E7=BB=84=E4=BB=B6=20`demo`=20?= =?UTF-8?q?=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locales/en.yaml | 1 + locales/zh-CN.yaml | 1 + src/components/ReDialog/index.ts | 4 +- src/components/ReDialog/type.ts | 12 +- src/router/modules/components.ts | 16 +- src/views/about/columns.tsx | 9 +- src/views/components/dialog/index.vue | 271 ++++++++++++++++++++++++++ 7 files changed, 302 insertions(+), 12 deletions(-) create mode 100644 src/views/components/dialog/index.vue diff --git a/locales/en.yaml b/locales/en.yaml index b5d744b22..213450135 100644 --- a/locales/en.yaml +++ b/locales/en.yaml @@ -36,6 +36,7 @@ menus: hsfourZeroOne: "403" hsFive: "500" hscomponents: Components + hsdialog: Dialog Components hsmessage: Message Tips Components hsvideo: Video Components hsmap: Map Components diff --git a/locales/zh-CN.yaml b/locales/zh-CN.yaml index ba1800830..30fa6d9bc 100644 --- a/locales/zh-CN.yaml +++ b/locales/zh-CN.yaml @@ -36,6 +36,7 @@ menus: hsfourZeroOne: "403" hsFive: "500" hscomponents: 组件 + hsdialog: 函数式弹框组件 hsmessage: 消息提示组件 hsvideo: 视频组件 hsmap: 地图组件 diff --git a/src/components/ReDialog/index.ts b/src/components/ReDialog/index.ts index c2ad2efb5..377f8409b 100644 --- a/src/components/ReDialog/index.ts +++ b/src/components/ReDialog/index.ts @@ -24,9 +24,9 @@ const addDialog = (options: DialogOptions) => { } }; -const closeDialog = (options: DialogOptions, index: number, args: any) => { +const closeDialog = (options: DialogOptions, index: number, args?: any) => { dialogStore.value.splice(index, 1); - options.closeCallBack && options.closeCallBack(args); + options.closeCallBack && options.closeCallBack({ options, index, args }); }; const closeAllDialog = () => { diff --git a/src/components/ReDialog/type.ts b/src/components/ReDialog/type.ts index da543a70e..742feef2a 100644 --- a/src/components/ReDialog/type.ts +++ b/src/components/ReDialog/type.ts @@ -163,8 +163,16 @@ interface DialogOptions extends DialogProps { options: DialogOptions; index: number; }) => void; - /** `Dialog` 关闭后的回调,会返回 `command`。`command` 值解析:`cancel` 点击取消按钮、`sure` 点击确定按钮、`close` 点击右上角关闭按钮或者空白页 */ - closeCallBack?: (args: any) => void; + /** `Dialog` 关闭后的回调。 `args` 返回的 `command` 值解析:`cancel` 点击取消按钮、`sure` 点击确定按钮、`close` 点击右上角关闭按钮或者空白页 */ + closeCallBack?: ({ + options, + index, + args + }: { + options: DialogOptions; + index: number; + args: any; + }) => void; /** 输入焦点聚焦在 `Dialog` 内容时的回调 */ openAutoFocus?: ({ options, diff --git a/src/router/modules/components.ts b/src/router/modules/components.ts index 4c97c46e9..4ce9a4a7a 100644 --- a/src/router/modules/components.ts +++ b/src/router/modules/components.ts @@ -11,11 +11,11 @@ export default { }, children: [ { - path: "/components/message", - name: "Message", - component: () => import("@/views/components/message/index.vue"), + path: "/components/dialog", + name: "Dialog", + component: () => import("@/views/components/dialog/index.vue"), meta: { - title: $t("menus.hsmessage"), + title: $t("menus.hsdialog"), extraIcon: "IF-pure-iconfont-new svg", transition: { enterTransition: "animate__fadeInLeft", @@ -23,6 +23,14 @@ export default { } } }, + { + path: "/components/message", + name: "Message", + component: () => import("@/views/components/message/index.vue"), + meta: { + title: $t("menus.hsmessage") + } + }, { path: "/components/video", name: "Video", diff --git a/src/views/about/columns.tsx b/src/views/about/columns.tsx index 31976237e..897c666df 100644 --- a/src/views/about/columns.tsx +++ b/src/views/about/columns.tsx @@ -57,10 +57,11 @@ export function useColumns() { label: "QQ交流群", cellRenderer: () => { return ( - - - 点击链接加入群聊【Pure Admin】 - + + 点击加群 ); } diff --git a/src/views/components/dialog/index.vue b/src/views/components/dialog/index.vue new file mode 100644 index 000000000..92e791960 --- /dev/null +++ b/src/views/components/dialog/index.vue @@ -0,0 +1,271 @@ + + +