例如:
<el-date-picker v-model="form.expireTime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;" size="small" ></el-date-picker>
当直接给form.expireTime 赋值是 form.expireTime = value , 界面没有变化。但是form.expireTime值已经更新了。
原理:受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。
要处理这种情况,我们可以使用$set()方法,既可以新增属性,又可以触发视图更新。
this.$set(form, "expireTime", value)
为什么要写出来
直觉告诉我,可以使用$set方法。果然有效。
帮别人解决问题很开心/::D/::D/::D/::D/::D