最近在做一个项目,前端为vue+elementui。有一天需要做一个级联操作时,突然发现修改了v-model后,页面表单中数据没有动态更新,解决问题后分享给大家,希望能有所帮助!
工具/原料
1
VS Code 1.39.2
2
Chrome 78.0.3904.108 (Official Build) (64-bit)
3
Vue 2.6.10
4
ElementUI 2.8.2
方法/步骤
1
这边需求很简单,当页面选择了客户之后,会从服务器获取该客户详细信息,将详细信息中地址赋值给表单中拜访地点。
3
但是我发现修改了客户之后,方法也触发了,数据也赋值成功了,但是页面拜访地点却并没有更新。
4
查询了官方文档,看VUE时如何追踪变化的。看起来就是我们data中的model需要有该属性,然后才能生成该属性的getter&setter方法然后靠watcher以动态刷新。
5
我的formInfo中并没有visitAddr属性,所以添加了该属性,并设置默认值为空字符串。
6
一般这样就可以了,但是不知道咋回事儿我其它的照这个思路都已经正确刷新了,但是visitAddr却仍然没有。这里我最终采用了$set方法重新渲染才成功达成目标。
注意事项
1
喜欢我的文章,别忘了点赞+收藏哦!
2
不花一分钱,小小“点赞+收藏”就是笔者更新的动力!配合分享效果更佳哦~
上一篇:Vue仿今日头条--服务器端