From 33f41f7795a3fea03c3fcbfef4a99b67276ddb50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=8C=E4=BA=9A=E7=9A=84=E8=A5=BF=E7=BA=A2=E6=9F=BF?= <97817985+nova1751@users.noreply.github.com> Date: Tue, 27 Feb 2024 17:48:17 +0800 Subject: [PATCH] fix(components): [input-number] fix default value reset error (#15725) (#15725) * fix(components): [input-number] fix default value reset error * test(components): [input-number] fix value default value reset error --- .../components/input-number/__tests__/input-number.test.tsx | 2 ++ packages/components/input-number/src/input-number.vue | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/components/input-number/__tests__/input-number.test.tsx b/packages/components/input-number/__tests__/input-number.test.tsx index f9c2a029d6..11b0cde6fd 100755 --- a/packages/components/input-number/__tests__/input-number.test.tsx +++ b/packages/components/input-number/__tests__/input-number.test.tsx @@ -429,6 +429,8 @@ describe('InputNumber.vue', () => { elInput.handleInputChange('') await nextTick() expect(num.value).toBe(5) + await wrapper.find('input').setValue('') + expect(num.value).toBe(5) elInput.decrease() await nextTick() expect(num.value).toBe(4) diff --git a/packages/components/input-number/src/input-number.vue b/packages/components/input-number/src/input-number.vue index ddced5bc5c..eadc4c7e38 100755 --- a/packages/components/input-number/src/input-number.vue +++ b/packages/components/input-number/src/input-number.vue @@ -239,10 +239,12 @@ const setCurrentValue = ( emit(UPDATE_MODEL_EVENT, newVal!) return } - if (oldVal === newVal) return + if (oldVal === newVal && value) return data.userInput = null emit(UPDATE_MODEL_EVENT, newVal!) - emit(CHANGE_EVENT, newVal!, oldVal!) + if (oldVal !== newVal) { + emit(CHANGE_EVENT, newVal!, oldVal!) + } if (props.validateEvent) { formItem?.validate?.('change').catch((err) => debugWarn(err)) }