feat: enable input on select

This commit is contained in:
Methapon2001 2024-07-26 11:37:07 +07:00
parent 0b8c0aa9ad
commit a534bfaa13

View file

@ -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'),