el-tree过滤后树形全选问题

1,064 阅读1分钟
  • 昨日发现一个element-ui树组件的问题,不知道大家有没有遇到过

  • 当树做过滤之后,再勾选树的父节点,会默认全选没有过滤的节点,导致后面做数据导入的时候,会将不需要的数据也导入到系统中

42430885635.png

  • 经过推敲思考之后,发现可以从树node的visible和checked入手(其实这个是element-ui组件的一个bug{狗头})
this.checkKeys.forEach((i,n) => {
  //fix el-tree过滤Selectall,全部都选择上 
  var node = this.$refs.tree.getNode(i)
  
  if(!node.visible && node.checked){ 
  
    //过滤隐藏and选中的节点。设置为false
    
    this.$refs.tree.setChecked(i,false);  
    
  }
});

将以上代码做适当修改适应,即可优化为只勾选树过滤之后的数据,完美!