记录因为antd版本InputNumber遇到的问题
发布时间
阅读量:
阅读量
1. 项目需求
设置金额的有效数字为两位,并会自动填充至两位。当在小数点后输入第三位时(例如12.345),系统会截断多余数字(仅保留12.34)。为了防止误操作,在焦点离开时也不会允许用户继续编辑超出规定的小数值。
2. 产生现象
formatter实时格式化会出现个问题,输入123,2还没输入,页面格式化为1.00
注意:precision: 配置 formatter 时会以 formatter 为准
{
dataIndex: "amount",
valueType: "digit",
title: "金额",
search: false,
fieldProps: {
precision: 2,
formatter: (value: any, info: any) => formatNumber(value, info),
parser: (value: any) => value!.replace(/\$\s?|(,*)/g, ""),
max: 999999999999999.99,
min: -99999999999999.99,
maxLength: 15,
},
formItemProps: (form, config: any) => {
return {
rules: [{ required: true, message: "请输入金额" }]
};
}
},
AI写代码
3. 产生原因
为了实现表格的虚拟化滚动效果, 我们将从当前使用的Ant Design 5.x版本, 进行一次全面更新, 升级至Ant Design 12.x版本, 并修复一些已知问题。经过测试, 发现这一操作不会影响到其他组件的功能, 同时也能显著提升用户体验。

官方认为这是一个bug被修复了;而我们的项目成功地利用了这一bug来满足需求目标。
虚拟滚动还是要的,这个问题也得修复
4. 解决方法
自5.9.0版本开始虚拟滚动功能已上线。自5.11.0版本起,“formatter实时格式化”功能被修复。因此将版本降级至5.10.3,并完美地解决了问题

最后:项目升级真的要慎重三思啊
全部评论 (0)
还没有任何评论哟~
