From f36e2c713daae6ae84f8e5c7ece99611409f8901 Mon Sep 17 00:00:00 2001 From: LiuHao Date: Wed, 31 Jan 2024 16:01:37 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96userSelect=20?= =?UTF-8?q?=E9=80=89=E4=B8=AD=E6=9C=AA=E7=A1=AE=E5=AE=9A=EF=BC=8C=E5=86=8D?= =?UTF-8?q?=E6=AC=A1=E6=89=93=E5=BC=80=E8=BF=98=E4=BF=9D=E7=95=99=E9=80=89?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UserSelect/index.vue | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/components/UserSelect/index.vue b/src/components/UserSelect/index.vue index e78bcb5..4dfc5a4 100644 --- a/src/components/UserSelect/index.vue +++ b/src/components/UserSelect/index.vue @@ -61,7 +61,7 @@ :data="userList" :loading="loading" :row-config="{ keyField: 'userId', isHover: true }" - :checkbox-config="{ reserve: true, trigger: 'row', highlight: true, checkRowKeys: defaultSelectUserIds, showHeader: prop.multiple }" + :checkbox-config="{ reserve: true, trigger: 'row', highlight: true, showHeader: prop.multiple }" @checkbox-all="handleCheckboxAll" @checkbox-change="handleCheckboxChange" > @@ -207,7 +207,7 @@ const getList = async () => { const pageList = async () => { await getList(); const users = userList.value.filter((item) => { - return defaultSelectUserIds.value.includes(item.userId); + return selectUserList.value.some((user) => user.userId === item.userId); }); await tableRef.value.setCheckboxRow(users, true); }; @@ -275,18 +275,33 @@ const initSelectUser = async () => { if (defaultSelectUserIds.value.length > 0) { const { data } = await api.optionSelect(defaultSelectUserIds.value); selectUserList.value = data; + await nextTick(() => { + const users = userList.value.filter((item) => { + return defaultSelectUserIds.value.includes(String(item.userId)); + }); + tableRef.value.setCheckboxRow(users, true); + }); } }; const close = () => { userDialog.closeDialog(); - tableRef.value.clearCheckboxReserve(); - tableRef.value.clearCheckboxRow(); - resetQuery(); - selectUserList.value = []; }; +watch( + () => userDialog.visible.value, + (newValue: boolean) => { + if (newValue) { + initSelectUser(); + } else { + tableRef.value.clearCheckboxReserve(); + tableRef.value.clearCheckboxRow(); + resetQuery(); + selectUserList.value = []; + } + } +); + onMounted(() => { - initSelectUser(); getTreeSelect(); // 初始化部门数据 getList(); // 初始化列表数据 });