reactjs - 有没有办法在提交时标准化 ant 设计输入的值?
问题描述
我正在使用带有 React JS 的 Ant Design,并且我使用 Form.Item normalize 属性来解析来自 api 的值以进行输入。
我现在想做相反的事情,在提交时从输入规范化为 api 格式。
例如:我有一个名为现金的输入,它接收浮点数并标准化为货币,但在提交表单上我想再次接收浮点值,有可能吗?我在 github 问题中搜索,但没有发现任何相关内容。
<Form onSubmit={values => send(values)}> // I'd like retrieve values.cash in float without parse directly every time
<Input normalize={normalize_to_currency} name="cash" />
</Form>
PS:我使用的是非受控蚂蚁设计形式。
解决方案
您可以使用 Form.Item 规范化道具
<Form onFinish={values => console.log(values)}>
<Form.Item name="currecny" normalize={e => parseFloat(e)}>
<Input placeholder="Currency" type="number" />
</Form.Item>
<Button htmlType="submit">Submit</Button>
</Form>
你可以检查这个沙箱https://codesandbox.io/s/craky-resonance-mtkxi
如果您在 getFieldDecoder 中使用 Ant Design 3.x,您将获得 normalize props
推荐阅读
- c# - 为 ApplicationDbContext 应用现有迁移 - 无法打开请求的数据库
- c++ - 在循环中获取坐标的函数在输入 char 值后变为无穷大
- azure - 部署Azure功能时如何解决“服务不可用”?
- pyspark - PySpark:Muliple Where 条件与 AND (&&)
- c++ - 如何为引用和非引用类型制作类模板专业化?
- spring - 使用 Basic Auth 授权每个请求 Spring Boot
- python - 如何在 PyQt5 TableWidget 中输入任何内容之前显示所有建议?
- kubernetes - 如何在 kubernetes 中获取命名空间中所有容器的自定义列资源限制和请求
- jenkins - CURL 命令用于提交具有大量参数的 Jenkins 作业
- java - 在 @ElementCollection 注释地图上的 JPQL 查询中排序