element plus tree 获取选中节点的父节点。树获取所有选中的节点 电脑版发表于:2024/4/28 15:58 [TOC] ### element plus tree 获取选中节点的父节点 通过 treeRef.value.getNode(data) 获取到当前节点的实例,随后通过 node.parent 获取到父节点。 代码如下: ``` const getSelectData = () => { // 获取选中的接点 let checkedNodes = treeRef.value!.getCheckedNodes(false, true) console.log("看看选择的数据", checkedNodes) for (let index = 0; index < checkedNodes.length; index++) { const schoolEle = checkedNodes[index]; // 根据后台的一个标识知道这个类型的节点是最下级的子节点了(当前也可以通过其他手段拿到这个信息,element plus 的tree组件应该也有只获取最后一级选中的方法 , 配合后台的返回数据处理的话可能更灵活一点) if (schoolEle.type == "grade") { /* 根据当前节点的id获取到当前这一级的节点数据,注意这个获取的数据是包含树里边的数据的,可以拿到父级,子级等信息, 而不只是我们绑定上去的数据源 */ let nodeData = treeRef.value!.getNode(schoolEle.$treeNodeId) console.log("看看当前的节点数据", nodeData) // 有了当前这个接点的数据了就好拿到他的父级,以及父级的父级等 let levelId = nodeData.parent.data.id console.log("看看当前的父接点数据,这里是阶段id", levelId) let schoolId = nodeData.parent.parent.data.id console.log("看看当前的父接点的父节点数据,这里是校区id", schoolId) } } } ``` ### element plus tree 获取所有选中的节点 使用getCheckedNodes方法即可。 tn2>(leafOnly, includeHalfChecked) 接收两个布尔类型参数: 1. 默认值为 false. 若参数为 true, 它将返回当前选中节点的子节点 2. 默认值为 false. 如果参数为 true, 返回值包含半选中节点数据 #### 包括父节点 ``` const treeRef = ref<InstanceType<typeof ElTree>>() const getCheckedNodes = () => { console.log(treeRef.value!.getCheckedNodes(false, false)) } ``` #### 只包括子节点 ``` const treeRef = ref<InstanceType<typeof ElTree>>() const getCheckedNodes = () => { console.log(treeRef.value!.getCheckedNodes(true, false)) } ```