在对话框子组件中有3种关闭对话框的方式
取消和确认都能被引导到 this.$emit(‘update:dialogVisible‘,newval)
不会报错
但是点击 * 叉无法引导到this.$emit,它会直接改变 对话框组件中的 :visible.sync="绑定变量" 如果绑定变量直接是通过 props 传递过来的父组件属性,会报错
解决办法:在子组件中将 props中的属性 通过computed 映射到子组件本地,:visible.sync="映射变量"
computed: {
isVisible: {
get: function() {
return this.showdialog
},
set: function(newval) {
this.$emit(‘update:showdialog‘, newval)
}
}
}
原文:https://www.cnblogs.com/lhx9527/p/14621446.html