alibaba / hooks

A high-quality & reliable React Hooks library.

Home Page:https://ahooks.js.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

useAntdTable 的 getTableData函数的第二个参数 formData 希望可以通过设置来返回包含 未显式声明在form中的字段

pangao66 opened this issue · comments

有时候 我想直接 给form上塞一些字段,
但又不需要相关的表单控件,比如直接给form.setFieldValue(test,123),
antd Form 可以通过设置 preserve 字段 为true 用form.getFieldsValue(true) 来获取到这种隐藏字段
在useAntdTable中, server回调函数getTableData 的第二个参数 formData则没法包含这个隐藏字段, 虽然可以自己用form再去获取,但是如果能通过配置 自动 返回这种包含隐藏字段的 formData更好,
希望ahooks的useAntdTable也能通过某个配置 来直接获取到包含隐藏字段的formData

commented

我的建议是你需要显式的声明,及即使用不着他的表单功能。如果这些字段特别多,你更应该这样做。

<Form.Item name='xx' style={{width:0, height:0}}/>

@raotaohub 有时候有些控件希望对应多个字段,比如range-picker 组件的值是数组但是往往后端接收的是两个字段, 我是封装 接受startkey 和endKey, 然后 给formInstance上 form.setfieldValue(startKey,xxx)这样方便也不用显式声明控件

commented

@raotaohub 有时候有些控件希望对应多个字段,比如range-picker 组件的值是数组但是往往后端接收的是两个字段, 我是封装 接受startkey 和endKey, 然后 给formInstance上 form.setfieldValue(startKey,xxx)这样方便也不用显式声明控件

实际业务中这个问题确实很常见,我的做法是提交前写一个转换函数。 pro components 的高级Form组件其实就有 transform 和cover 的回调用来在提交时转换数据格式。只能说业务千变万化,组件只能尽可能提供灵活的抽象,但是没办法涵盖全部场景。。毕竟很多细节的实现没有标准化