From 9c91b130416e9acc8d4bd8b7fc585224e3ae97de Mon Sep 17 00:00:00 2001 From: neverland Date: Sun, 20 Apr 2025 21:21:44 +0800 Subject: [PATCH] fix(Picker): update selected values when modelValue is cleared (#13445) --- packages/vant/src/picker/Picker.tsx | 9 ++++++--- packages/vant/src/picker/test/index.spec.tsx | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/vant/src/picker/Picker.tsx b/packages/vant/src/picker/Picker.tsx index 60747676c..571259e7e 100644 --- a/packages/vant/src/picker/Picker.tsx +++ b/packages/vant/src/picker/Picker.tsx @@ -147,9 +147,7 @@ export default defineComponent({ }; const getEventParams = () => ({ - selectedValues: selectedValues.value.length - ? selectedValues.value.slice(0) - : resetSelectedValues(currentColumns.value), + selectedValues: selectedValues.value.slice(0), selectedOptions: selectedOptions.value, selectedIndexes: selectedIndexes.value, }); @@ -299,9 +297,14 @@ export default defineComponent({ selectedValues.value = newValues.slice(0); lastEmittedModelValue = newValues.slice(0); } + + if (props.modelValue.length === 0) { + resetSelectedValues(currentColumns.value); + } }, { deep: true }, ); + watch( selectedValues, (newValues) => { diff --git a/packages/vant/src/picker/test/index.spec.tsx b/packages/vant/src/picker/test/index.spec.tsx index 8714c83b7..c4c1d72f2 100644 --- a/packages/vant/src/picker/test/index.spec.tsx +++ b/packages/vant/src/picker/test/index.spec.tsx @@ -490,6 +490,7 @@ test('should emit correct values when clicking confirm button during column scro ]); }); +// https://github.com/youzan/vant/issues/13423 test('should emit default values when clear modelValue', async () => { const columns = [ { text: '1', value: '1' },