Skip to content

Commit 8021e0f

Browse files
committed
fix: streamline user selection by removing debounce and optimizing remote search in AddMemberDrawer
1 parent 8617a73 commit 8021e0f

3 files changed

Lines changed: 3 additions & 9 deletions

File tree

ui/src/api/type/role.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ interface FormItemModel {
6969
multiple?: boolean
7070
clearableFunction?: (e: any) => boolean
7171
remoteMethod?: (query: string, element: any) => Promise<{ label: string, value: string }[]>
72-
remoteSearchDebounce?: number
7372
}
7473
}
7574

ui/src/views/system/role/component/AddMemberDrawer.vue

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,10 @@
2323

2424
<script setup lang="ts">
2525
import {onBeforeMount, ref} from 'vue'
26-
import type {CreateMemberParamsItem, FormItemModel} from '@/api/type/role'
26+
import type {CreateMemberParamsItem, FormItemModel, RoleItem} from '@/api/type/role'
2727
import UserApi from '@/api/user/user'
28-
import WorkspaceApi from '@/api/workspace/workspace'
2928
import MemberFormContent from './MemberFormContent.vue'
3029
import {t} from '@/locales'
31-
import type {RoleItem} from '@/api/type/role'
3230
import {MsgSuccess} from '@/utils/message'
3331
import {RoleTypeEnum} from '@/enums/system'
3432
import {loadPermissionApi} from '@/utils/dynamics-api/permission-api'
@@ -64,8 +62,7 @@ async function getUserFormItem() {
6462
}
6563
6664
// 初始加载
67-
const initialOptions = await fetchUserOptions()
68-
userOptions.value = initialOptions
65+
userOptions.value = await fetchUserOptions()
6966
7067
userFormItem.value = [
7168
{
@@ -80,7 +77,6 @@ async function getUserFormItem() {
8077
selectProps: {
8178
options: userOptions.value,
8279
placeholder: `${t('common.selectPlaceholder')}${t('views.role.member.title')}`,
83-
remoteSearchDebounce: 300,
8480
remoteMethod: async (query: string, element: any) => {
8581
// 关键:直接更新 selectProps.options
8682
const newOptions = await fetchUserOptions(query)

ui/src/views/system/role/component/MemberFormContent.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,7 @@ async function handleRemoteSearch(query: string, element: any, model: FormItemMo
108108
loadingStates[key] = true
109109
110110
try {
111-
const debounceTime = model.selectProps.remoteSearchDebounce || 300
112-
await new Promise(resolve => setTimeout(resolve, debounceTime))
111+
await new Promise(resolve => setTimeout(resolve, 100))
113112
114113
element[`_${model.path}_options`] = await model.selectProps.remoteMethod(query, element)
115114
} catch (error) {

0 commit comments

Comments
 (0)