最近在工作上用到element的tree插件,在切换tab页面时,tree的dom对象需要生成过程。
这里需要获取到tree对象信息,代码如下。
this.$refs.tree.getCheckedKeys(true);
由于tree dom对象没有生成完毕就执行代码,报如下错。
TypeError: Cannot read property 'getCheckedKeys' of undefined
使用this.nextTick()
//切换tab操作
this.tab = '3';
this.tags='tag3';
//切换生成dom已完成 再执行nextTick内容 同步操作
this.$nextTick(() =>{
var oldKeys = this.$refs.tree.getCheckedKeys(true);
var newKeys = oldKeys.filter(function(i) {
return i !== nodeKey;
});
this.$refs.tree.setCheckedKeys(newKeys,true);
});
问题解决。