|
17 | 17 | </a-form-item> |
18 | 18 |
|
19 | 19 | <a-form-item label="环境" name="environment" has-feedback> |
20 | | - <a-select v-model:value="formState.environment" :options="uiData.environments" |
21 | | - :field-names="{ label: 'name', value: 'id' }" @change="onEnvChange" allowClear /> |
| 20 | + <a-select v-model:value="formState.environment" show-search :filter-option="filterEnvOption" |
| 21 | + :options="uiData.environments" :field-names="{ label: 'name', value: 'id' }" @change="onEnvChange" |
| 22 | + allowClear /> |
22 | 23 | </a-form-item> |
23 | 24 |
|
24 | 25 | <a-form-item label="数据库" name="db_type" has-feedback> |
|
27 | 28 | </a-form-item> |
28 | 29 |
|
29 | 30 | <a-form-item label="实例" name="instance_id" has-feedback> |
30 | | - <a-select v-model:value="formState.instance_id" :options="uiData.instances" |
31 | | - :field-names="{ label: 'remark', value: 'instance_id' }" @change="onInstanceChange" |
32 | | - :disabled="!formState.db_type" allowClear /> |
| 31 | + <a-select v-model:value="formState.instance_id" show-search :filter-option="filterInstanceOption" |
| 32 | + :options="uiData.instances" :field-names="{ label: 'remark', value: 'instance_id' }" |
| 33 | + @change="onInstanceChange" :disabled="!formState.db_type" allowClear /> |
33 | 34 | </a-form-item> |
34 | 35 |
|
35 | 36 | <a-form-item label="库名" name="schema" has-feedback> |
36 | | - <a-select v-model:value="formState.schema" :options="uiData.schemas" |
| 37 | + <a-select v-model:value="formState.schema" show-search :filter-option="filterSchemaOption" |
| 38 | + :options="uiData.schemas" |
37 | 39 | :field-names="{ label: 'schema', value: 'schema' }" :disabled="!formState.instance_id" allowClear /> |
38 | 40 | </a-form-item> |
39 | 41 |
|
40 | 42 | <a-form-item label="抄送" name="cc"> |
41 | | - <a-select v-model:value="formState.cc" mode="multiple" :options="uiData.users" |
| 43 | + <a-select v-model:value="formState.cc" mode="multiple" show-search :filter-option="filterCcOption" |
| 44 | + :options="uiData.users" |
42 | 45 | :field-names="{ label: 'nick_name', value: 'username' }" allowClear /> |
43 | 46 | </a-form-item> |
44 | 47 |
|
@@ -163,6 +166,22 @@ const resetDbLevel = () => { |
163 | 166 | uiData.schemas = [] |
164 | 167 | } |
165 | 168 |
|
| 169 | +const filterEnvOption = (input, option) => { |
| 170 | + return option?.name?.toLowerCase().includes(input.toLowerCase()) |
| 171 | +} |
| 172 | +
|
| 173 | +const filterInstanceOption = (input, option) => { |
| 174 | + return option?.remark?.toLowerCase().includes(input.toLowerCase()) |
| 175 | +} |
| 176 | +
|
| 177 | +const filterSchemaOption = (input, option) => { |
| 178 | + return option?.schema?.toLowerCase().includes(input.toLowerCase()) |
| 179 | +} |
| 180 | +
|
| 181 | +const filterCcOption = (input, option) => { |
| 182 | + return option?.nick_name?.toLowerCase().includes(input.toLowerCase()) |
| 183 | +} |
| 184 | +
|
166 | 185 | // 环境变化 |
167 | 186 | const onEnvChange = () => { |
168 | 187 | resetDbLevel() |
|
0 commit comments