update 优化userSelect 选中未确定,再次打开还保留选中的问题

This commit is contained in:
LiuHao 2024-01-31 16:01:37 +08:00
parent 71bf715ea6
commit f36e2c713d

View File

@ -61,7 +61,7 @@
:data="userList" :data="userList"
:loading="loading" :loading="loading"
:row-config="{ keyField: 'userId', isHover: true }" :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-all="handleCheckboxAll"
@checkbox-change="handleCheckboxChange" @checkbox-change="handleCheckboxChange"
> >
@ -207,7 +207,7 @@ const getList = async () => {
const pageList = async () => { const pageList = async () => {
await getList(); await getList();
const users = userList.value.filter((item) => { 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); await tableRef.value.setCheckboxRow(users, true);
}; };
@ -275,18 +275,33 @@ const initSelectUser = async () => {
if (defaultSelectUserIds.value.length > 0) { if (defaultSelectUserIds.value.length > 0) {
const { data } = await api.optionSelect(defaultSelectUserIds.value); const { data } = await api.optionSelect(defaultSelectUserIds.value);
selectUserList.value = data; 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 = () => { const close = () => {
userDialog.closeDialog(); 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(() => { onMounted(() => {
initSelectUser();
getTreeSelect(); // getTreeSelect(); //
getList(); // getList(); //
}); });