fix(Picker): update selected values when modelValue is cleared (#13445)

This commit is contained in:
neverland
2025-04-20 21:21:44 +08:00
committed by GitHub
parent ea75a968ce
commit 9c91b13041
2 changed files with 7 additions and 3 deletions

View File

@@ -147,9 +147,7 @@ export default defineComponent({
}; };
const getEventParams = () => ({ const getEventParams = () => ({
selectedValues: selectedValues.value.length selectedValues: selectedValues.value.slice(0),
? selectedValues.value.slice(0)
: resetSelectedValues(currentColumns.value),
selectedOptions: selectedOptions.value, selectedOptions: selectedOptions.value,
selectedIndexes: selectedIndexes.value, selectedIndexes: selectedIndexes.value,
}); });
@@ -299,9 +297,14 @@ export default defineComponent({
selectedValues.value = newValues.slice(0); selectedValues.value = newValues.slice(0);
lastEmittedModelValue = newValues.slice(0); lastEmittedModelValue = newValues.slice(0);
} }
if (props.modelValue.length === 0) {
resetSelectedValues(currentColumns.value);
}
}, },
{ deep: true }, { deep: true },
); );
watch( watch(
selectedValues, selectedValues,
(newValues) => { (newValues) => {

View File

@@ -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 () => { test('should emit default values when clear modelValue', async () => {
const columns = [ const columns = [
{ text: '1', value: '1' }, { text: '1', value: '1' },