From 0779b9575d61c82df37531ce65d4e522f9cf6cf4 Mon Sep 17 00:00:00 2001 From: devin Date: Wed, 17 Apr 2024 11:33:20 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix(select):=20=E4=BF=AE=E5=A4=8D=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E9=BB=98=E8=AE=A4=E9=80=89=E4=B8=AD=20value=20?= =?UTF-8?q?=E4=B8=BA=200=20=E7=9A=84option?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/opendesign/src/select/OSelect.vue | 4 +-- .../src/select/__demo__/SelectBasic.vue | 4 +-- .../src/select/__demo__/SelectTest.vue | 30 +++++++++++++++++++ .../src/select/__demo__/TheIndex.vue | 2 ++ 4 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 packages/opendesign/src/select/__demo__/SelectTest.vue diff --git a/packages/opendesign/src/select/OSelect.vue b/packages/opendesign/src/select/OSelect.vue index ba244718..07dfd0b1 100644 --- a/packages/opendesign/src/select/OSelect.vue +++ b/packages/opendesign/src/select/OSelect.vue @@ -10,7 +10,7 @@ import { SelectOptionT, selectProps, SelectValueT } from './types'; import { getRoundClass } from '../_utils/style-class'; import ClientOnly from '../_components/client-only'; import { OScroller } from '../scroller'; -import { isArray, isFunction, isArrayEqual } from '../_utils/is'; +import { isArray, isFunction, isArrayEqual, isUndefined } from '../_utils/is'; import SelectOption from './SelectOption.vue'; import slot from './slot'; import { filterSlots } from '../_utils/vue-utils'; @@ -71,7 +71,7 @@ if (isArray(props.modelValue)) { valueList.value = [...props.defaultValue]; } else { const mrValue = props.modelValue ?? props.defaultValue; - if (mrValue) { + if (!isUndefined(mrValue)) { valueList.value = [mrValue]; } else { valueList.value = []; diff --git a/packages/opendesign/src/select/__demo__/SelectBasic.vue b/packages/opendesign/src/select/__demo__/SelectBasic.vue index 80bf38e4..b57915bd 100644 --- a/packages/opendesign/src/select/__demo__/SelectBasic.vue +++ b/packages/opendesign/src/select/__demo__/SelectBasic.vue @@ -4,7 +4,7 @@ import { ref } from 'vue'; import { OSelect, SelectValueT } from '../index'; import { OOption } from '../../option'; const options = [ - { label: 'option 1', value: '' }, + { label: 'option 1', value: 0 }, { label: 'long long long long long long long long long long long long text option 2', value: 'opt2' }, { label: 'option 3', value: 'opt3' }, { label: 'option 4', value: 'opt4' }, @@ -20,7 +20,7 @@ const options2 = [ { label: 'option 8', value: 'opt8' }, { label: 'option 9', value: 'opt9' }, ]; -const selectVal1 = ref('opt3'); +const selectVal1 = ref(0); const changeVal = () => { selectVal1.value = 'opt3'; }; diff --git a/packages/opendesign/src/select/__demo__/SelectTest.vue b/packages/opendesign/src/select/__demo__/SelectTest.vue new file mode 100644 index 00000000..bacf171e --- /dev/null +++ b/packages/opendesign/src/select/__demo__/SelectTest.vue @@ -0,0 +1,30 @@ +2 + + + diff --git a/packages/opendesign/src/select/__demo__/TheIndex.vue b/packages/opendesign/src/select/__demo__/TheIndex.vue index d2993f2a..7dc2026b 100644 --- a/packages/opendesign/src/select/__demo__/TheIndex.vue +++ b/packages/opendesign/src/select/__demo__/TheIndex.vue @@ -7,6 +7,7 @@ import SelectMultiple from './SelectMultiple.vue'; import SelectPopupposition from './SelectPopupposition.vue'; import SelectLoading from './SelectLoading.vue'; import SelectGroup from './SelectGroup.vue'; +// import SelectTest from './SelectTest.vue';