今天就碰到编辑下拉选框带多选功能的问题,选框的值改变了,但是选框视图不更新!弄了好久也没有找到答案,百度一下找到了!
问题描述:
在使用Vue框架和element-ui开发时,下拉框遇见一个问题,在函数中改变了页面中的某个值,在函数中查看是修改成功了,但在页面中没有及时刷新改变后的值,也就是下拉框值无法选中。(踩坑踩得莫名其妙)
代码段:
1
2
3
解决方法:
出现这个问题好像是因为下拉框数据是循环掉别的接口得来的,因为数据层次太多,render函数没有自动更新,需手动强制刷新所以我直接强制刷新了值,而forceUpdate就是重新render。
写一个方法,在select的change事件中调用此方法,运用this.$forceUpdate()强制刷新,页面正常选值。
change(){
this.$forceUpdate()
},
1
2
3
小结:
同理,forceUpdate()这个方法也适用一些很深的组件 state 已经改变了的时候,可以在该组件上面调用,解决页面v-for中修改item属性值后页面页面值不改变的问题。
------
转载 https://blog.youkuaiyun.com/weixin_43216105/article/details/86699772
本文介绍了在Vue和Element-UI开发中遇到的下拉框选值不更新问题,通过发现数据层级深导致渲染不自动更新,解决方案是通过$forceUpdate()强制刷新视图。适用于深层次组件状态改变时的页面同步问题。
1万+

被折叠的 条评论
为什么被折叠?



