详情:使用以下代码为data赋值,出现界面不刷新时,无法对文本框进行编辑,输入框只保留操作的最后一步。

this.ruleForm.roleName=this.$store.state.roleSetting.roleinfo.roleinstacename;
this.ruleForm.content=this.$store.state.roleSetting.roleinfo.roleinstacedescription;

原因:当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的。dom无法获取到文本框的数据值,先调用了其他的方法,此时使用this.$set进行赋值,即可解决问题。

this.$set(this.ruleForm,"roleName",this.$store.state.roleSetting.roleinfo.roleinstacename)
this.$set(this.ruleForm,"content",this.$store.state.roleSetting.roleinfo.roleinstacedescription)

this.$set语法:

this.$set(target, key, value):target为需要添加属性的对象,key是要添加的属性名,value为属性key对应的值。

Logo

前往低代码交流专区

更多推荐