diff --git a/examples/views/number-input/NumberInputTest.vue b/examples/views/number-input/NumberInputTest.vue
index 1a7eac3e..6f1fa948 100644
--- a/examples/views/number-input/NumberInputTest.vue
+++ b/examples/views/number-input/NumberInputTest.vue
@@ -7,6 +7,8 @@
+小数间隔: {{ demo1.value503 }}
+
diff --git a/packages/number-input/src/number-input.ts b/packages/number-input/src/number-input.ts
index 8b4fc64b..4d8f76b6 100644
--- a/packages/number-input/src/number-input.ts
+++ b/packages/number-input/src/number-input.ts
@@ -246,9 +246,11 @@ export default defineComponent({
inputMethods.dispatchEvent(evnt.type, { value: inputValue }, evnt)
}
- const emitModel = (value: number | null, evnt: Event | { type: string }) => {
- reactData.inputValue = value
+ const emitModel = (value: number | null, evnt: Event | { type: string }, writeToInput = true) => {
emit('update:modelValue', value ? Number(value) : null)
+ if (writeToInput) {
+ reactData.inputValue = value
+ }
inputMethods.dispatchEvent('input', { value }, evnt as any)
if (XEUtils.toValueString(props.modelValue) !== XEUtils.toValueString(value)) {
inputMethods.dispatchEvent('change', { value }, evnt as any)
@@ -264,7 +266,7 @@ export default defineComponent({
const value = inputValue ? Number(inputValue) : null
reactData.inputValue = inputValue
if (inpImmediate) {
- emitModel(value, evnt)
+ emitModel(value, evnt, false)
} else {
inputMethods.dispatchEvent('input', { value }, evnt)
}
@@ -353,7 +355,8 @@ export default defineComponent({
inpNumVal = Number(inpStringVal)
}
}
- emitModel(getNumberValue(inpNumVal), { type: 'check' })
+ const numValue = getNumberValue(inpNumVal)
+ emitModel(numValue, { type: 'check' })
}
}
}