Skip to content

onBlur 里做校验时,无法拿到 format 后的 value 值 #548

@promise96319

Description

@promise96319

代码如下:

<InputNumber
  precision={0}
  onBlur={() => console.log('blur')}
  onChange={() => console.log('change')}
/>

当使用 precision 时,如果输入的内容不符合当前精度((比如 0.9),此时失焦,会先触发 onBlur,拿到的 value 值为 0.9。然后 InputNumber 组件再将 value 值格式化,触发 onChange, 此时拿到的 value 值是 1。

在业务中,如果在 onBlur 中去做校验,无法拿到最终格式化后的值。需要通过异步去获取,感觉不是很好,是否能在 onBlur 里将值直接格式化后再出发外层 onBlur 事件?

历史版本有相关 issue 和解决,但是最新版似乎没有。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions