Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: #17 VxeNumberInput 无法手动输入小数点 #18

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Clover-You
Copy link

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