feat: enable input on select
This commit is contained in:
parent
0b8c0aa9ad
commit
a534bfaa13
1 changed files with 16 additions and 3 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import useOptionStore from 'src/stores/options';
|
import useOptionStore from 'src/stores/options';
|
||||||
|
import { selectOptionFilter } from 'src/stores/utils';
|
||||||
import {
|
import {
|
||||||
dateFormat,
|
dateFormat,
|
||||||
calculateAge,
|
calculateAge,
|
||||||
|
|
@ -21,6 +22,12 @@ const gender = defineModel<string>('gender');
|
||||||
const birthDate = defineModel<Date | string | null>('birthDate');
|
const birthDate = defineModel<Date | string | null>('birthDate');
|
||||||
const nationality = defineModel<string>('nationality');
|
const nationality = defineModel<string>('nationality');
|
||||||
|
|
||||||
|
const { options: genderOptions, filter: genderFilter } = selectOptionFilter(
|
||||||
|
optionStore.globalOption.gender,
|
||||||
|
);
|
||||||
|
const { options: nationalityOptions, filter: nationalityFilter } =
|
||||||
|
selectOptionFilter(optionStore.globalOption.nationality);
|
||||||
|
|
||||||
defineProps<{
|
defineProps<{
|
||||||
dense?: boolean;
|
dense?: boolean;
|
||||||
outlined?: boolean;
|
outlined?: boolean;
|
||||||
|
|
@ -128,7 +135,9 @@ defineProps<{
|
||||||
option-label="label"
|
option-label="label"
|
||||||
option-value="value"
|
option-value="value"
|
||||||
v-model="gender"
|
v-model="gender"
|
||||||
:options="optionStore.globalOption.gender"
|
use-input
|
||||||
|
@filter="genderFilter"
|
||||||
|
:options="genderOptions"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<VueDatePicker
|
<VueDatePicker
|
||||||
|
|
@ -223,8 +232,10 @@ defineProps<{
|
||||||
class="col-md-3 col-6"
|
class="col-md-3 col-6"
|
||||||
option-label="label"
|
option-label="label"
|
||||||
option-value="value"
|
option-value="value"
|
||||||
|
use-input
|
||||||
v-model="gender"
|
v-model="gender"
|
||||||
:options="optionStore.globalOption.gender"
|
@filter="genderFilter"
|
||||||
|
:options="genderOptions"
|
||||||
:rules="[
|
:rules="[
|
||||||
(val: string) =>
|
(val: string) =>
|
||||||
!!val || $t('selectValidate') + $t('formDialogInputGender'),
|
!!val || $t('selectValidate') + $t('formDialogInputGender'),
|
||||||
|
|
@ -247,7 +258,9 @@ defineProps<{
|
||||||
option-label="label"
|
option-label="label"
|
||||||
option-value="label"
|
option-value="label"
|
||||||
v-model="nationality"
|
v-model="nationality"
|
||||||
:options="optionStore.globalOption.nationality"
|
:options="nationalityOptions"
|
||||||
|
use-input
|
||||||
|
@filter="nationalityFilter"
|
||||||
:rules="[
|
:rules="[
|
||||||
(val: string) =>
|
(val: string) =>
|
||||||
!!val || $t('selectValidate') + $t('formDialogInputNationality'),
|
!!val || $t('selectValidate') + $t('formDialogInputNationality'),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue