element-ui tree 手动展开功能实现(异步树也可以)

这篇文章主要介绍了element-ui tree 手动进行展开(异步树也可以),项目中用到了vue的element-ui框架,用到了el-tree组件,需要的朋友可以参考下

背景

项目中用到了vue的element-ui框架,用到了el-tree组件。由于数据量很大,使用了数据懒加载模式,即异步树。异步树采用复选框进行结点选择的时候,没法自动展开,官方文档找了半天也没有找到好的办法! 找不到相关的配置,或者方法可以使用。 经过调试与阅读elment-ui源码才发现有现成的方法可以进行结点展开。下面就介绍结点展开的实现!

1.监听复选框点击事件check

 

2.手动展开,使用node.expand()方法

handleCheck(nodeData,  treeChecked) { let node = this.$refs.tree.getNode(nodeData.id) //将选中的未展开的节点进行展开 if(node.checked && !node.expanded){ node.expand(function(){ for(let i=0; i

项目中的实现

(复选框勾选后能自动展开并选中,先展开再勾选也可以自动展开)

1.监听check-change事件

 

2.编写展开结点方法

handleCheckChange(nodeData, nodeSelected) { //展开选中的未展开的节点 let tree = this.$refs.tree; let node = tree.getNode(nodeData.id) //展开选中的未展开的节点 this.expandNotExpandNodes(node); //具体业务实现 console.log(nodeData, nodeSelected) }, //展开选中的未展开的节点 expandNotExpandNodes(node) { let tree = this.$refs.tree; if (node.checked && !node.expanded && !node.isLeaf) { node.expand(function () { let childNodes = node.childNodes; for (let i = 0; i 

到此这篇关于element-ui tree 手动进行展开(异步树也可以)的文章就介绍到这了,更多相关element-ui tree手动展开内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!

以上就是element-ui tree 手动展开功能实现(异步树也可以)的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Vue.js 教程