获取最新的数据在页面中无法渲染
- 数组的数据更新完毕,但是页面中却不更新。
- 尝试了几种方法,较好用的几种如下
代码块
//获取websockt的table消息返回值
get_table(state,data){
console.log(data)
let list = data.tablelist;
let arr = []//新数组
for(let i=0; i<list.length; i++){
list[i].change = true;
arr.push(list[i]);
}
//赋值给一个需要用到的数组
state.table_list = arr;
},
- 首先是新建一个数组
list
赋值数据,再建一个空数arr
组用来获取操作后的数据 - 对赋值后的数组
list
进行操作,操作后push
到数组arr
- 最后将
arr
,数组赋值给最终页面使用得数组 - 这样保存后,页面也获取新的数组数据后就可以正常的渲染最新数据了
代码块
get_cart_list(state, provider) {
let list = provider;
let arr = []//新数组
//此方法可以将数据重新赋值,解决vuex的数据不更新导致的页面不渲染
list.forEach(item=>{ //需要渲染的数组
//执行你的操作,最后用放到arr中
arr.push(item)
})
//赋值给一个需要用到的数组
state.store_cart_list = arr;
},
- 方式原理同上,不过直接
数组.foreach((item)=>{新数组.push(item)})
可以尝试不同方法,来解决问题,有好的建议也可以私信我。