当你发现你给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时,也许这个时候就需要用到this.$set()这个方法了,简单来说this.$set的功能就是解决这个问题的啦。官方解释:向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为 Vue 无法探测普通的新增属性

let date2 = [];
this.$set(this.date2,0,new Date(res.data.effectDate));//回显的日期
this.$set(this.date2,1,new Date(res.data.expiredDate))//回显的日期      

新增页面和编辑页面可能为同一个问题,但是进行datetimepicker回显的时候会发现一个问题,就是回显之后再对timepicker面板进行操作时候,是不出发change时间,值也不会发生改变的

此时就要用到this.$set()方法进行暴力改变!

修改对象

this.$set(obj,'key',value)

Logo

前往低代码交流专区

更多推荐