问题描述:使用vue+element开始时,v-model绑定一个对象属性到select元素值,切换select选项时,绑定的对象值改变了,但是界面显示没有变,还是原来的值所对应的选项名称;
解答:
vue2.x(Object.definePropertype())监听不到对象中值得变化,Vue3.X已经从底层(proxy)重新设计了数据监听原理,是可以监听到任意值得变化,对于这种问题,解决方法如下
v-model="xxx",而不要v-model="xxx.xxx"
使用升级Vue3 build version,公司项目谨慎升级,个人demo随意
还是使用现有的v-model="xxx.xxx",赋值的使用请使用this.$set(xxx, 'attr', value);
如果以上还不可以,
请仔细检查data中是否有定义,比如模板中 v-model="obj.timeStart"
而在data中只写了外层obj={},建议补充完整,即obj = { timeStart: '' };
看看你的生命周期从beforeCreate到mounted之间有没有执行把v-model的值置空的操作。