养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

前端脱坑记之VUE修改v-model数据后页面未刷新

时间:2024-09-22 10:32:14

最近在做一个项目,前端为vue+e盟敢势袂lementui。有一天需要做一个级联操作时,突然发现修改了v-model后,页面表单中数据没有动态更新,解决问题后分享给大家,希望能有所帮助!

前端脱坑记之VUE修改v-model数据后页面未刷新

工具/原料

VSCode1.39.2

Chrome78.0.3904.108(OfficialBuild)(64-bit)

Vue2.6.10

ElementUI2.8.2

方法/步骤

1、这边需求很简单,当页面选择了客户之后,会从服务器获取该客户详细信息,将详细信息中地址赋值给表单中拜访地点。

前端脱坑记之VUE修改v-model数据后页面未刷新

2、下图中为我相应的代码片段。客户变化后触发handleCustomerChange方法,然后将visitAddr修改为该用户的地址。

前端脱坑记之VUE修改v-model数据后页面未刷新

前端脱坑记之VUE修改v-model数据后页面未刷新

3、但是我发现修改了客户之后,方法也触发了,数据也赋值成功了,但是页面拜访地点却并没有更新。

前端脱坑记之VUE修改v-model数据后页面未刷新

4、查询了官方文觇致惯鸹档,看VUE时如何追踪变化的。看起来就是我们data中的model需要有该属性,然后才能生成该属性的getter&setter方法然后靠watcher以动态刷新。

前端脱坑记之VUE修改v-model数据后页面未刷新

5、我的formInfo中并没有visitAddr属性,所以添加了该属性,并设置默认值为空字符串。

前端脱坑记之VUE修改v-model数据后页面未刷新

6、一琐绔纠滴般这样就可以了,但是不知道咋回事儿我其它的照这个思路都已经正确刷新了,但是visitAddr却仍然没有。这里我最终采用了$set方法重新渲染才成功达成目标。

前端脱坑记之VUE修改v-model数据后页面未刷新

© 一点知识