From 65c2f45c0e9492aa9835a21ebc5f292c0c0faeb4 Mon Sep 17 00:00:00 2001 From: x_ying <2438792676@qq.com> Date: Wed, 22 Jun 2022 17:13:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=A3=E6=A1=88=E7=9B=98=E7=82=B9=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=9B=98=E7=82=B9bug=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../archivesCheck/module/addCheck.vue | 31 ++++++++++--------- src/views/components/TreeSelect.vue | 16 ++++++++-- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/src/views/archivesManage/archivesCheck/module/addCheck.vue b/src/views/archivesManage/archivesCheck/module/addCheck.vue index 1ced78d..9cf2f0d 100644 --- a/src/views/archivesManage/archivesCheck/module/addCheck.vue +++ b/src/views/archivesManage/archivesCheck/module/addCheck.vue @@ -12,27 +12,13 @@ - { + if (item.childrenList && item.childrenList) { + item.childrenList.forEach(item2 => { + item2.childrenList.forEach(item3 => { + this.menusIds.push(item3.menuId) + }) + }) + } + }) } } diff --git a/src/views/components/TreeSelect.vue b/src/views/components/TreeSelect.vue index e640794..c94efd9 100644 --- a/src/views/components/TreeSelect.vue +++ b/src/views/components/TreeSelect.vue @@ -62,6 +62,13 @@ export default { return {} } }, + // 没有子节点的id数组 + menusIds: { + type: Array, + default() { + return [] + } + }, // 配置是否可多选 multiple: { type: Boolean, @@ -209,6 +216,7 @@ export default { }, // 单选,节点被点击时的回调,返回被点击的节点数据 handleNodeClick(data, node) { + console.log(node, 'node') if (!this.multiple) { this.setSelectOption(node) this.isShowSelect = !this.isShowSelect @@ -218,6 +226,7 @@ export default { // 多选,节点勾选状态发生变化时的回调 handleCheckChange() { var checkedKeys = this.$refs.tree.getCheckedKeys() // 所有被选中的节点的 key 所组成的数组数据 + this.options = checkedKeys.map((item) => { var node = this.$refs.tree.getNode(item) // 所有被选中的节点对应的node const tmpMap = {} @@ -225,9 +234,10 @@ export default { tmpMap.label = node.label return tmpMap }) - this.selectedData = this.options.map((item) => { - return item.value - }) + // this.selectedData = this.options.map((item) => { + // return item.value + // }) + this.selectedData = this.menusIds.filter(item => this.options.some(v => v.value === item)) this.$emit('change', this.selectedData) }, // 多选,删除任一select选项的回调