vue中树结构,实时接收webaocket数据,更新树结构数据

求帮忙,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;
            }
          }
        }
}

img


这是websocket推送的数据

多长时间更新一次呢?是否每次更新了所有节点?