最近使用element-ui中的日期选择组件,发现选中日期却没有回显出来,但是提交到后台的日期数据却是正确的,即数据变了,视图没变。
经过反复查找,终于发现问题出在给实例对象增加新属性时,直接通过 ‘=’形式赋值是不会触发视图更新的,应该使用Vue.set给实例对象添加新属性。
例如:
this.modeForm.validDate = [ response.startDate, response.endDate]
this.modeForm是已经创建的实例对象,通过= 创建新属性,不会触发视图更新;
更改为:
Vue.set(this.modeForm, 'validDate ', [ response.startDate, response.endDate] )
参数一:需要添加属性的对象
参数二:新增属性名
参数三: 新增属性值