diff --git a/frontend/src/components/ElTreeSelect/index.vue b/frontend/src/components/ElTreeSelect/index.vue index df60a28571..c135597b03 100644 --- a/frontend/src/components/ElTreeSelect/index.vue +++ b/frontend/src/components/ElTreeSelect/index.vue @@ -470,15 +470,26 @@ export default { _treeCheckFun(data, node, vm) { this.ids = [] const { propsValue } = this - node.checkedNodes.forEach(item => { + const checkKeys = this.$refs.tree.getCheckedKeys() + checkKeys.forEach((i, n) => { + const node = this.$refs.tree.getNode(i) + if (!node.visible && node.checked) { + this.$refs.tree.setChecked(i, false) + } + }) + + const checkedNodes = this.$refs.tree.getCheckedNodes() + + checkedNodes.forEach(item => { this.ids.push(item[propsValue]) }) /* - 点击复选框,对外抛出 `data, node, vm`
- `data:` 当前点击的节点数据
- `node:` 当前点击的node
- `vm:` 当前组件的vm - */ + 点击复选框,对外抛出 `data, node, vm`
+ `data:` 当前点击的节点数据
+ `node:` 当前点击的node
+ `vm:` 当前组件的vm + */ + node.checkedKeys = checkedNodes.map(node => node.id) this.$emit('check', data, node, vm) this._emitFun() },