二次打开el-dialog,el-input赋值后不能输入的问题
Vue2,二次打开el-dialog,el-input赋值后不能输入的问题
1:问题描述:二次打开dialog后页面有一个el-input手动赋值后,在改input就不能改变了;
赋值代码如下
this.form.uid = '123' |
2:解决方法
改为 this.$set(target,key,value) 赋值即可,注意key是字符串,要加引号
this.$set(this.form,'uid','123') |
原因解释:
Vue 2 的响应式系统在初始化时会对 data
中已经存在的属性进行追踪。这意味着,如果 this.form
对象在组件初始化时已经存在,并且已经定义了 uid
属性,那么 Vue 能够检测到 uid
属性的变化,并更新视图。
赋值时机问题:
- 在某些情况下,如果组件的渲染顺序或生命周期钩子函数的使用不当,可能会导致在
el-input
初始化之前就对form.uid
进行了赋值。 这可能会导致el-input
无法正确地绑定到form.uid
属性。
二次打开el-dialog,el-input赋值后不能输入的问题
评论