问题:开始没有修改绑定值 searchInfo 值的时候,没有问题。当我在以下代码中修改之后就出问题了
computed:{
searchInfo:{
get:function () {
let object=this.searchObject;
this.formItemList.forEach(value=>{
this.$set(object,[value.prop],value.dataType||''); // good
//bad object[value.prop]=value.dataType||'';
});
return object
},
}
},
原因:searchInfo对象没有初始化,属性未声明 解决:使用this.$set 对vue 变量进行修改
总结:
v-model 绑定的组件如果是内容不能输入或是选择;输入之后又被清空
原因有三:
1. 绑定变量没有被定义(在输入内容之后,值就没有一个可以接收它的变量)
2. 变量值的引用被修改,建议使用this.$set 对较复杂的引用值进行修改
3. 没有绑定v-model(一般都是不会忘的)