加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Antd中InputNumber组件数字限制小数位数

发布时间:2020-12-15 07:20:31 所属栏目:百科 来源:网络整理
导读:InputNumber组件强制限制小数,可以使用 formatter 属性配合正则来实现,但在实践中发现一个问题,比如限制的两位小数,当我输第三位小数的时候,组件会保存这个值,导致传给后台的值多出一位小数。 在2.9.0之后,InputNumber 新增 parser 属性,搭配 formatt

InputNumber组件强制限制小数,可以使用 formatter 属性配合正则来实现,但在实践中发现一个问题,比如限制的两位小数,当我输第三位小数的时候,组件会保存这个值,导致传给后台的值多出一位小数。

在2.9.0之后,InputNumber 新增 parser 属性,搭配 formatter 一起使用,可以较好的限制小数的位数。

将formatter和parser属性都绑定同一个方法,在这个方法里实现:

......

<InputNumber min={0}
             max={100}
             step={0.01}
             formatter={limitDecimals}
             parser={limitDecimals} />

绑定方法:

const limitDecimals = (value: string | number): string => {
    const reg = /^(-)*(d+).(dd).*$/;
    console.log(value);
    if(typeof value === 'string') {
        return !isNaN(Number(value)) ? value.replace(reg,'$1$2.$3') : ''
    } else if (typeof value === 'number') {
        return !isNaN(value) ? String(value).replace(reg,'$1$2.$3') : ''
    } else {
        return ''
    }
};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读