需求:有一个封装好的弹窗子组件,点确认时$emit父组件删除方法,父组件删除接口调用成功后需要调用子组件close()方法。
方法:1可以直接$refs.dialog.close()关闭弹窗
方法2:可以模拟.then在子组件实现这一逻辑
父组件事件:
delConfirm(params, callback) {
// reqName是请求名
reqName(params).then(res => {
if (res.success) {
this.$message.success('删除成功!')
callback() // 回调子组件关闭弹窗
this.getList() // 删除一条后刷新列表
}
})
},
子组件确认按钮事件:
confirm() {
// params是携带的参数 传给父组件 callback后回调的内容是close()方法
this.$emit('delConfirm', this.params, () => {
this.close()
})
}