diff --git a/packages/dialog/README.md b/packages/dialog/README.md index 6e5df4bb..ae2b742b 100644 --- a/packages/dialog/README.md +++ b/packages/dialog/README.md @@ -117,6 +117,7 @@ Page({ | Dialog.setDefaultOptions | `options` | `void` | 修改默认配置,对所有 Dialog 生效 | | Dialog.resetDefaultOptions | - | `void` | 重置默认配置,对所有 Dialog 生效 | | Dialog.close | - | `void` | 关闭弹窗 | +| Dialog.stopLoading | - | `void` | 停止按钮的加载状态 | ### Options diff --git a/packages/dialog/dialog.ts b/packages/dialog/dialog.ts index 58b67c13..50e01d1d 100644 --- a/packages/dialog/dialog.ts +++ b/packages/dialog/dialog.ts @@ -22,6 +22,7 @@ interface Dialog { alert?: (options: DialogOptions) => Promise; confirm?: (options: DialogOptions) => Promise; close?: () => void; + stopLoading?: () => void; install?: () => void; setDefaultOptions?: (options: DialogOptions) => void; resetDefaultOptions?: () => void; @@ -84,6 +85,12 @@ Dialog.close = () => { queue = []; }; +Dialog.stopLoading = () => { + queue.forEach(dialog => { + dialog.stopLoading(); + }); +}; + Dialog.setDefaultOptions = options => { Object.assign(Dialog.currentOptions, options); }; diff --git a/packages/dialog/index.ts b/packages/dialog/index.ts index 0f207fb7..6285d8d2 100644 --- a/packages/dialog/index.ts +++ b/packages/dialog/index.ts @@ -44,14 +44,7 @@ VantComponent({ watch: { show(show) { - if (!show) { - this.setData({ - loading: { - confirm: false, - cancel: false - } - }); - } + !show && this.stopLoading(); } }, @@ -84,6 +77,15 @@ VantComponent({ }); }, + stopLoading() { + this.setData({ + loading: { + confirm: false, + cancel: false + } + }); + }, + onClose(action) { if (!this.data.asyncClose) { this.close();