nextTick的使用

场景:

左边的树有被选中项,则显示右边的内容,且清除右边表格的被选中项
代码大概就是 选中左边的树然后执行 this.$refs.treeRef.setCurrentRow(); // 取消表格高亮行
nextTick的使用_第1张图片
nextTick的使用_第2张图片
然后报错:
nextTick的使用_第3张图片

解决:

在外面包一层this.$nextTick就可

 this.$nextTick(()=>{
     this.$refs.treeRef.setCurrentRow(); // 取消表格高亮行
 })

原因:

在执行this.$refs.treeRef.setCurrentRow(); // 取消表格高亮行时,右边的表格还没显示出来,所以取不到右边的表格,右边的表格为undefined。
加上 this.$nextTickthis.$refs.treeRef.setCurrentRow();就会在页面的dom更新后(也就是右边的表格显示出来之后)再执行了

你可能感兴趣的:(问题解决,前端,vue.js)