Skip to content

Commit dd8bc33

Browse files
committed
fix: system group select user
1 parent 2d1e9ae commit dd8bc33

2 files changed

Lines changed: 19 additions & 5 deletions

File tree

‎ui/src/components/business/api-key-list/index.vue‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ onMounted(loadApiKeys)
141141
</span>
142142
</template>
143143
</el-table-column>
144-
<el-table-column label="备注" show-overflow-tooltip>
144+
<el-table-column label="备注" width="180" show-overflow-tooltip>
145145
<template #default="{ row }">{{ row.remark || '—' }}</template>
146146
</el-table-column>
147147
<el-table-column prop="create_time" label="创建时间" width="180">

‎ui/src/views/system/identity/groups/dialog/CreateGroupMemberDialog.vue‎

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,35 @@ const memberForm = reactive<{ userIds: string[] }>({ userIds: [] })
1818
/* 成员选项 */
1919
const optionsLoading = ref(false)
2020
const userOptions = ref<CommonUserOption[]>([])
21+
const allUserOptions = ref<CommonUserOption[]>([])
2122
let searchTimer: ReturnType<typeof setTimeout> | null = null
22-
function loadUserOptions(query?: string) {
23+
function loadUserOptions(query = '') {
24+
const keyword = query.trim()
2325
optionsLoading.value = true
24-
CommonSystemApi.getWorkspaceMembers(props.workspaceId, query ? { nick_name: query } : undefined)
26+
CommonSystemApi.getWorkspaceMembers(props.workspaceId, keyword ? { nick_name: keyword } : undefined)
2527
.then((users) => {
2628
userOptions.value = users
29+
if (!keyword) allUserOptions.value = users
2730
})
2831
.finally(() => {
2932
optionsLoading.value = false
3033
})
3134
}
3235
3336
function handleRemoteSearch(query: string) {
34-
if (searchTimer) clearTimeout(searchTimer)
37+
if (searchTimer) {
38+
clearTimeout(searchTimer)
39+
searchTimer = null
40+
}
41+
const keyword = query.trim()
42+
if (!keyword) {
43+
// Select 聚焦会触发空关键词搜索,复用首次列表以避免加载态导致下拉浮层重绘。
44+
userOptions.value = allUserOptions.value
45+
return
46+
}
3547
searchTimer = setTimeout(() => {
36-
loadUserOptions(query)
48+
searchTimer = null
49+
loadUserOptions(keyword)
3750
}, 300)
3851
}
3952
@@ -67,6 +80,7 @@ function resetData() {
6780
loading.value = false
6881
optionsLoading.value = false
6982
userOptions.value = []
83+
allUserOptions.value = []
7084
formRef.value?.clearValidate()
7185
if (searchTimer) {
7286
clearTimeout(searchTimer)

0 commit comments

Comments
 (0)