Added multiple field to SearchSelect and ModalForm
This commit is contained in:
1 parent
01c40cb2f4
commit
e952dd7b7a
2 files changed
+99
-19
No files matched your search
@@ -18,10 +18,19 @@ interface FileField<T> extends BaseField<T> {
|
||||
|
||||
interface SearchSelectField<T> extends BaseField<T> {
|
||||
type: "search-select"
|
||||
fetchOptions: (q: string) => Promise<Option[]>
|
||||
fetchOptions: (q?: string) => Promise<Option[]>
|
||||
}
|
||||
|
||||
export type Field<T = any> = TextField<T> | FileField<T> | SearchSelectField<T>
|
||||
interface SearchSelectArrayField<T> extends BaseField<T> {
|
||||
type: "search-select-array"
|
||||
fetchOptions: (q?: string) => Promise<Option[]>
|
||||
}
|
||||
|
||||
export type Field<T = any> =
|
||||
| TextField<T>
|
||||
| FileField<T>
|
||||
| SearchSelectField<T>
|
||||
| SearchSelectArrayField<T>
|
||||
|
||||
interface ModalFormProps<T> {
|
||||
item?: T
|
||||
@@ -65,11 +74,15 @@ const save = async () => {
|
||||
<form class="form" @submit.prevent="save">
|
||||
<template v-for="field in props.fields">
|
||||
<SearchSelect
|
||||
v-if="field.type == 'search-select'"
|
||||
v-if="
|
||||
field.type == 'search-select' ||
|
||||
field.type == 'search-select-array'
|
||||
"
|
||||
v-model:value="localItem[field.key]"
|
||||
:fetch-options="field.fetchOptions"
|
||||
:label="field.label || field.key"
|
||||
:predefined="props.item?.[field.key]"
|
||||
:multiple="field.type == 'search-select-array'"
|
||||
/>
|
||||
<Input
|
||||
v-else
|
||||
|
||||
Reference in new issue
Block a user