Skip to content

Commit 251ac59

Browse files
authored
fix(DateRangeField): handle manually set start/end to undefined` (#1894)
1 parent b4f4223 commit 251ac59

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

packages/core/src/DateRangeField/DateRangeFieldRoot.vue

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -241,15 +241,18 @@ watch([startValue, endValue], ([_startValue, _endValue]) => {
241241
})
242242
243243
watch(modelValue, (_modelValue) => {
244-
if (_modelValue && _modelValue.start && _modelValue.end) {
245-
if (!startValue.value || _modelValue.start.compare(startValue.value) !== 0)
246-
startValue.value = _modelValue.start.copy()
247-
if (!endValue.value || _modelValue.end.compare(endValue.value) !== 0)
248-
endValue.value = _modelValue.end.copy()
244+
const isStartChanged = _modelValue?.start && startValue.value
245+
? _modelValue.start.compare(startValue.value) !== 0
246+
: _modelValue?.start !== startValue.value
247+
if (isStartChanged) {
248+
startValue.value = _modelValue?.start?.copy()
249249
}
250-
if (!_modelValue) {
251-
startValue.value = undefined
252-
endValue.value = undefined
250+
251+
const isEndChanged = _modelValue?.end && endValue.value
252+
? _modelValue.end.compare(endValue.value) !== 0
253+
: _modelValue?.end !== endValue.value
254+
if (isEndChanged) {
255+
endValue.value = _modelValue?.end?.copy()
253256
}
254257
})
255258

0 commit comments

Comments
 (0)