求帮忙,vue中树结构,通过websocket推送的数据实时刷新,会出现树一直闪烁的问题,需要根据userlist里面status的状态变化,更新树结构的list
showTagPos(obj) {
let userNew = []
for (let tag in obj) {
let exists = 0
for (let i = 0; i < this.userList.length; i++) {
let sipId = this.userList[i].sipId
/*
userlist为初始人员列表信息,obj这个参数为websocket接收的数据
如果推送的数据id人员列表的数据id相等,
判断这条数据的推送时间超过30s,status设为0(离线)
*/
if (obj[tag].id == sipId) {
exists = 1
const time = new Date().getTime()
if (time - this.mapTable[i].getValue('time') > 30 * 1000) {
this.userList[i].status = 0
this.$set(this.userList[i], 'time', time)
}
obj[tag].name = this.userList[i].userName
// 已存在,更新数据
this.userList[i].status = 2
this.$set(this.userList[i], 'time', time)
userNew.push(this.userList[i])
break;
}
}
}
}
多长时间更新一次呢?是否每次更新了所有节点?