Skip to content

Conversation

@clovu
Copy link

@clovu clovu commented Jul 26, 2024

input 事件调用 emitInputEvent 函数设置当前输入的值,在这个函数中将当前输入的字符记录到了 reactData.inputValue 中。但由于 props.immediate 默认为 true 所以额外调用了一次 emitModel(value, event) ,在 emitModel 函数中又设置了一次 reactData.inputValue 导致 BUG 触发。因为传递给 emitModel value 值是一个已经被 Number 处理过的数值。
如果输入了 3. 那么 Number 处理过后就变成了 3 而不是 3. 或者 3.0

这个 PR 做了什么?

由于 VxeNumberInput 组件对外输出的数据是一个 number 而组件内部需要 string 来记录当前输入状态。所以 reactData.inputValue 就应该是 input 组件的输入值而不是最终输出结果。因此不应该在 emitModel 中直接设置它。

该 PR 为 emitModel 添加了 writeToInput = true 参数控制当前 emit 是否需要更新 input value。在 emitInputEvent 函数中并不需要更新它。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant