ElementUI tree控件把选中的父节点下的子节点抽出组成一个新的数组
时间: 2024-03-20 07:41:20 浏览: 63
您可以通过以下代码实现将选中的父节点下的子节点抽出组成一个新的数组:
```javascript
// 获取选中的节点
const selectedNodes = this.$refs.tree.getCheckedNodes();
// 获取选中的父节点
const selectedParentNodes = selectedNodes.filter(node => node.children.length > 0);
// 获取选中的子节点
const selectedChildNodes = selectedNodes.filter(node => node.children.length === 0);
// 把选中的子节点从选中的父节点下面移除
selectedParentNodes.forEach(parentNode => {
parentNode.children = parentNode.children.filter(node => !selectedChildNodes.includes(node));
});
// 把选中的子节点组成一个新的数组
const selectedChildNodeIds = selectedChildNodes.map(node => node.id);
```
其中,`this.$refs.tree` 是 ElementUI tree 控件的引用。首先,获取所有选中的节点,然后筛选出选中的父节点和子节点。接着,遍历选中的父节点,将选中的子节点从它们的 `children` 属性中移除。最后,将选中的子节点的 `id` 属性组成一个新的数组 `selectedChildNodeIds`。
阅读全文