mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
[Improvement] Toast: add setDefaultOptions method (#541)
This commit is contained in:
parent
b7282356ee
commit
307113bc6b
@ -57,9 +57,10 @@ export default {
|
||||
|
||||
| Name | Attribute | Return value | Description |
|
||||
|-----------|-----------|-----------|-------------|
|
||||
| Dialog.alert | options | `Promise` | Show alert dialog |
|
||||
| Dialog.confirm | options | `Promise` | Show confim dialog |
|
||||
| Dialog.setDefaultOptions | options | `void` | Set default options of all dialogs |
|
||||
| Dialog | `options` | `Promise` | Show dialog |
|
||||
| Dialog.alert | `options` | `Promise` | Show alert dialog |
|
||||
| Dialog.confirm | `options` | `Promise` | Show confim dialog |
|
||||
| Dialog.setDefaultOptions | `options` | `void` | Set default options of all dialogs |
|
||||
| Dialog.resetDefaultOptions | - | `void` | Reset default options of all dialogs |
|
||||
| Dialog.close | - | `void` | Close dialog |
|
||||
|
||||
|
@ -70,6 +70,8 @@ export default {
|
||||
| Toast.loading | `options | message` | toast instance | Show loading toast |
|
||||
| Toast.success | `options | message` | toast instance | Show success toast |
|
||||
| Toast.fail | `options | message` | toast instance | Show fail toast |
|
||||
| Toast.setDefaultOptions | `options` | `void` | Set default options of all toasts |
|
||||
| Toast.resetDefaultOptions | - | `void` | Reset default options of all toasts |
|
||||
| Toast.clear | - | `void` | Close |
|
||||
|
||||
### Options
|
||||
|
@ -57,9 +57,10 @@ export default {
|
||||
|
||||
| 方法名 | 参数 | 返回值 | 介绍 |
|
||||
|-----------|-----------|-----------|-------------|
|
||||
| Dialog.alert | options | `Promise` | 展示消息提示弹窗 |
|
||||
| Dialog.confirm | options | `Promise` | 展示消息确认弹窗 |
|
||||
| Dialog.setDefaultOptions | options | `void` | 修改默认配置,对所有 Dialog 生效 |
|
||||
| Dialog | `options` | `Promise` | 展示弹窗 |
|
||||
| Dialog.alert | `options` | `Promise` | 展示消息提示弹窗 |
|
||||
| Dialog.confirm | `options` | `Promise` | 展示消息确认弹窗 |
|
||||
| Dialog.setDefaultOptions | `options` | `void` | 修改默认配置,对所有 Dialog 生效 |
|
||||
| Dialog.resetDefaultOptions | - | `void` | 重置默认配置,对所有 Dialog 生效 |
|
||||
| Dialog.close | - | `void` | 关闭弹窗 |
|
||||
|
||||
|
@ -72,6 +72,8 @@ export default {
|
||||
| Toast.loading | `options | message` | toast 实例 | 展示加载提示 |
|
||||
| Toast.success | `options | message` | toast 实例 | 展示成功提示 |
|
||||
| Toast.fail | `options | message` | toast 实例 | 展示失败提示 |
|
||||
| Toast.setDefaultOptions | `options` | `void` | 修改默认配置,对所有 Toast 生效 |
|
||||
| Toast.resetDefaultOptions | - | `void` | 重置默认配置,对所有 Toast 生效 |
|
||||
| Toast.clear | - | `void` | 关闭提示 |
|
||||
|
||||
### Options
|
||||
|
@ -15,6 +15,10 @@ const defaultOptions = {
|
||||
}
|
||||
};
|
||||
|
||||
let currentDefaultOptions = {
|
||||
...defaultOptions
|
||||
};
|
||||
|
||||
const createInstance = () => {
|
||||
if (!instance) {
|
||||
const ToastConstructor = Vue.extend(VueToast);
|
||||
@ -29,7 +33,7 @@ const Toast = (options = {}) => {
|
||||
createInstance();
|
||||
|
||||
options = typeof options === 'object' ? options : { message: options };
|
||||
options = { ...defaultOptions, ...options };
|
||||
options = { ...currentDefaultOptions, ...options };
|
||||
Object.assign(instance, options);
|
||||
|
||||
clearTimeout(instance.timer);
|
||||
@ -52,10 +56,24 @@ const createMethod = type => (options = {}) => Toast({
|
||||
Toast.loading = createMethod('loading');
|
||||
Toast.success = createMethod('success');
|
||||
Toast.fail = createMethod('fail');
|
||||
|
||||
Toast.clear = () => {
|
||||
instance && instance.clear();
|
||||
};
|
||||
|
||||
Toast.setDefaultOptions = (options = {}) => {
|
||||
currentDefaultOptions = {
|
||||
...currentDefaultOptions,
|
||||
...options
|
||||
};
|
||||
};
|
||||
|
||||
Toast.resetDefaultOptions = () => {
|
||||
currentDefaultOptions = {
|
||||
...defaultOptions
|
||||
};
|
||||
};
|
||||
|
||||
Vue.prototype.$toast = Toast;
|
||||
|
||||
export default Toast;
|
||||
|
Loading…
x
Reference in New Issue
Block a user