在Element UI的el-tree组件中,获取节点的父节点可以通过以下几种方式实现: 通过节点对象获取父节点: 当你通过事件(如@node-click)获取到当前节点的数据时,你可以使用this.$refs.tree.getNode(data)方法获取到对应的节点对象。然后,你可以直接访问该节点对象的parent属性来获取父节点。需要注意的是,paren
使用node-click 事件,该事件会接收三个参数,分别是当前 data 节点数据,node 当前节点,root 根节点数据。 我们通过 node.parent.data 即可获取父节点数据,祖先级可一层层遍历上去 node.parent.parent 获取。 let parentData = node.parent.parent.data
</el-tree> </template> exportdefault{ data() {return{ data: [] }; }, methods: { handleNodeClick(data) { const node=this.$refs.tree.getNode(data); const parentNode=node.parent;if(parentNode.data) { console.log("父节点"); } } } };...
首先通过$refs来获取当前节点,然后通过循环遍历$parent属性,直到顶级父节点为止。这里使用了 while 循环来进行多次遍历,每一次都将parentNode属性指向当前节点的父节点,直到找到level属性为 1,即根节点。 最后输出顶级父节点的 label 属性。需要注意的是,如果当前节点本身就是根节点,那么顶级父节点就是它自己。
除了document之外,每一个节点都会有个上层的节点,我们通常称之为「父节点」 (Parent node),而相对地,从属于自己下层的节点,就会称为「子节点」 (Child node)。 兄弟关系:有同一个「父节点」的节点,那么他们彼此之间就是「兄弟节点」(Siblings node)。
在elementUI中el-tree获取字节点id以及父节点id(包括非全选中的情况) dom结构如下: <el-form-item label="权限" prop="menuIds"> <el-tree ref="tree" :data="permitData" show-checkbox node-key="id" @check="checkPermit" default-expanded-all :default...
在使用el-tree组件展示权限树结构信息时,遇到一个需求:若用户全选了子节点,仅需将父节点信息传给后端,避免全树数据传输导致后端SQL执行性能问题。原生element-ui文档未提供直接解决方法,需自行实现解决。通过`getSimpleCheckedNodes`函数,可解决此问题。该函数接收一个`store`参数,即组件引用的存储实例...
后端提出要求,如果子节点都选中了,就不要传子节点了,只要把父节点的信息传出去。element-ui文档没有现成的方法。只能自己实现,代码如下: /** * 获取树结构已选节点:如果是父节点下子节点全选则只获取父节点 * @param {*} store === this.$refs.tree.store * @returns */ getSimpleCheckedNodes(store) {...
SQA报告的测试bug中出现了一个问题,就是element-ui中el-tree控件中子节点未全部选中时,父节点的id在提交时不会传给后台接口,导致后台获取不到父节点id,从而导致部分选中的子节点的所对应的用户权限功能不能使用。 分析问题: <el-tree:data="pageAuthorityData"show-checkboxdefault-expand-allnode-key="permission...
el-tree中获取选中节点的所有父级节点 需求:项目中需要一个产品目录树形图,点击树形节点时,会把当前选中节点的所有父级节点信息带到左侧的搜索框中 解决方法:使用node-click事件函数 //点击节点nodeClick(e) {const{ tree } =this.$refs;//选中节点的所有父级id和codeItem信息this.parentList ={};this.search...