枳在淮北 2024-01-23 15:14 采纳率: 25%
浏览 127

InputNumber组件,precision设置为2,为什么失去焦点不会不自动补齐

InputNumber组件,precision设置为2,为什么失去焦点不会不自动补齐
antd版本5.12.2
实际情况,页面要显示金额例如20.00,precision设置为2不生效,使用formatter和parser格式化,但是此时会有一个问题,我想输入123,2还没输入,页面已经显示为1.00

用的pro-components的EditableProTable组件

img

  • 写回答

2条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-01-23 15:17
    关注

    关于你提到的 Ant Design 的 InputNumber 组件 precision 不生效问题,通常有以下几种可能:

    • 确保你的antd版本支持 precision 这个参数。针对于你的问题,可以检查一下antd的版本与文档,看是否支持你这样使用。

    • 检查是否有其他代码或样式覆盖了这个设置。如果其他地方有样式或行内样式覆盖,可能会导致设置不生效。

    • 确保没有使用 formatter 属性。formatter 属性将优先于 precision 属性,如果同时使用,可能导致 precision 不生效。

    如果以上方法都无效,建议提供更详细的代码示例或者直接向 Ant Design 反馈该问题。
    对于你提到的金额输入问题,可能需要在输入完成之后再做格式化:
    这可以通过在 onBlur 事件中进行处理,示例代码如下:

    <InputNumber
      onBlur={(e) => {
        const value = parseFloat(e.target.value).toFixed(2);
        // setState or form.setFieldsValue here
      }}
    />
    
    

    注意这种情况下可能需要手动处理一下 state 或者 form 的 value 更新。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月23日