如图,在控制打印的时候数组是空,但是展开可以看到有37条数据。紧接着打印了长度,长度为0.在这里插入图片描述
这个问题我搜了很多解决都是

this.$nextTick(() => {

  })

我有个更简单的办法,这个算是异步的一个加载
那就使用延时setTimeout来触发

let rightItems = this.$refs.r_list.getElementsByClassName('proList')
 setTimeout(() => { // 根据betterScroll定义滚动
   console.log(rightItems) // 右侧列表数组内容
   console.log(rightItems.length) // 右侧列表数组长度
   if (rightItems && (rightItems.length > 0)) {
     let height = 0
     this.arr.push(height)
     for (let i = 0; i < rightItems.length; i++) {
       let item = rightItems[i]
       height += item.clientHeight
       this.arr.push(height)
     }
   }
 }, 600)
Logo

前往低代码交流专区

更多推荐