文章目录
- 主要使用 beforeClose 方法实现 loading 的效果
- beforeClose MessageBox 关闭前的回调,会暂停实例的关闭
| function(action, instance, done) |
| |
| 1. action 的值为'confirm', 'cancel'或'close'。 |
| 2. instance 为 MessageBox 实例,可以通过它访问实例上的属性和方法。 |
| 3. done 用于关闭 MessageBox 实例。 |
复制
- 具体实现:(
this.$confirm、this.$alert、 this.$prompt
实现方法一样)
| this.$prompt('名称', '新建表单', { |
| confirmButtonText: '确定', |
| cancelButtonText: '取消', |
| beforeClose: async (action, ctx, close) => { |
| |
| if (action !== 'confirm') { |
| close(); |
| return; |
| } |
| |
| ctx.confirmButtonLoading = true; |
| try { |
| |
| await this.createApi(ctx.inputValue); |
| |
| close(); |
| } catch (error) {} |
| ctx.confirmButtonLoading = false; |
| }, |
| }); |
复制
- 实现前:

- 实现后:
