From e4ce6137bf6a5c4a90fad76ccee89b4f9263801c Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 1 Jul 2019 17:00:33 +0800 Subject: [PATCH] [new feature] Dialog: add close-on-popstate prop (#3709) --- src/dialog/Dialog.js | 3 ++- src/dialog/README.md | 1 + src/dialog/README.zh-CN.md | 1 + src/dialog/index.js | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/dialog/Dialog.js b/src/dialog/Dialog.js index 5f0c4f925..3b602798e 100644 --- a/src/dialog/Dialog.js +++ b/src/dialog/Dialog.js @@ -1,11 +1,12 @@ import { createNamespace } from '../utils'; import { PopupMixin } from '../mixins/popup'; +import { CloseOnPopstateMixin } from '../mixins/close-on-popstate'; import Button from '../button'; const [createComponent, bem, t] = createNamespace('dialog'); export default createComponent({ - mixins: [PopupMixin], + mixins: [PopupMixin, CloseOnPopstateMixin], props: { title: String, diff --git a/src/dialog/README.md b/src/dialog/README.md index eacbdcb64..40bea7bf6 100644 --- a/src/dialog/README.md +++ b/src/dialog/README.md @@ -128,6 +128,7 @@ export default { | confirmButtonText | Confirm button text | `String` | `Confirm` | | confirmButtonColor | Confirm button color | `String` | `#1989fa` | | overlay | Whether to show overlay | `Boolean` | `true` | +| closeOnPopstate | Whether to close when popstate | `Boolean` | `false` | | closeOnClickOverlay | Whether to close when click overlay | `Boolean` | `false` | | lockScroll | Whether to lock body scroll | `Boolean` | `true` | | beforeClose | Callback before close,
call done() to close dialog,
call done(false) to cancel loading | (action: string, done: function) => void | - | diff --git a/src/dialog/README.zh-CN.md b/src/dialog/README.zh-CN.md index a487cbb73..d74bf96a8 100644 --- a/src/dialog/README.zh-CN.md +++ b/src/dialog/README.zh-CN.md @@ -157,6 +157,7 @@ export default { | confirmButtonText | 确认按钮文案 | `String` | `确认` | - | | confirmButtonColor | 确认按钮颜色 | `String` | `#1989fa` | 1.6.14 | | overlay | 是否展示遮罩层 | `Boolean` | `true` | - | +| closeOnPopstate | 是否在页面回退时自动关闭 | `Boolean` | `false` | 2.0.5 | | closeOnClickOverlay | 点击遮罩层时是否关闭弹窗 | `Boolean` | `false` | - | | lockScroll | 是否锁定背景滚动 | `Boolean` | `true` | - | | beforeClose | 关闭前的回调函数,
调用 done() 后关闭弹窗,
调用 done(false) 阻止弹窗关闭 | `(action, done) => void` | - | - | diff --git a/src/dialog/index.js b/src/dialog/index.js index 2ae98e5f5..d61c12a57 100644 --- a/src/dialog/index.js +++ b/src/dialog/index.js @@ -60,6 +60,7 @@ Dialog.defaultOptions = { confirmButtonColor: null, showConfirmButton: true, showCancelButton: false, + closeOnPopstate: false, closeOnClickOverlay: false, callback: action => { instance[action === 'confirm' ? 'resolve' : 'reject'](action);