New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
💥 feat(table): add form values to transform fields #426
💥 feat(table): add form values to transform fields #426
Conversation
Codecov Report
@@ Coverage Diff @@
## master #426 +/- ##
==========================================
+ Coverage 91.54% 91.60% +0.05%
==========================================
Files 133 134 +1
Lines 3621 3643 +22
Branches 1303 1308 +5
==========================================
+ Hits 3315 3337 +22
Misses 302 302
Partials 4 4
Continue to review full report at Codecov.
|
你的意思是 表格中的列 和查询的 字段 不一致 对吗? |
这个名字有点,怎么说呢 很山寨的感觉 |
|
如果是ProTable需要这个属性的话, 在实现的过程中,我考虑过比如说 这是我的一些想法,,有更好的方案和思路,多多指教. |
cc @ant-design/ant-design-collaborators |
nameTransform: ['startDate', 'endDate'], 我们期望做成这样,可以让 range 系列的组件支持一下这个属性吗? 这样 table 和 form 都能支持 |
这是 改antd里面多组件 增加特性吗?感觉可以 但是觉得 这个 名称 有点怪怪的 在真实使用场景中 大多数 都需要 自己 转换一次 @afc163 |
如果是这样子的话, 只能把这个props写到 |
个人比较倾向于像 |
这种太难理解了,也不灵活,不如让 search 属性里增加一个 function,在这里做一些搜索表单请求需要的字段转化。 |
我之前也是这样子想的, 在 |
ant-design/ant-design#19727 (comment) 之前这里讨论过类似的,其实不仅是字段的转化,还会涉及到值的转化 |
|
建议用 function 而不是 array 来描述,另外 nameTransform 看不出来是转换到哪了,转换场景是什么。 这样如何? search: {
transform: (fields) => {
return fields;
},
customRequest: (fields) => {
// axio.get(fileds);
},
}, |
复杂情况下用function不是更好嘛, 简单的转化使用string | array即可. |
@afc163 这个其实是数组值的 name 映射,如果不能配置要 function 的话,可视化配置就没法完成了。 name-> 多个name 是个比较常见的场景,现在就是要通过 onFinish 这个方法来进行映射,如果是方法反而有点难用了 |
映射 API 的可读性很差,不太能看出来干啥用的。 |
要不加个 const columns = [
{
title: '标题',
dataIndex: 'title',
search: false,
{
title: '创建时间',
dataIndex: 'created_at',
valueType: 'dateRange',
search: {
queryParam: ['startTime', 'endTime'],
},
},
]; |
这样子是可以的, 但是如果是ProForm创建也需要transformer呢? |
有函数就够用了,不再提供语法糖了。 |
如果是采用函数的话, 应该怎么设计呢, |
应该是在顶级定义一个函数,把值传进去,然后返回新的值,方法中可以对字段和值进行任意转化,返回的值会直接用于搜索。 |
这样子的话,感觉会有一些重复操作, 比如说dateRange类型的数据, 每一个都得转成
|
check ci |
单元测试 多增加一点 |
@hengkx 好的, 我晚点增加一些测试用例, 感谢🙏. |
标题也改一下吧 |
加个 demo 吧,输出一下 onFinish 的内容 |
是文档中加一个demo,还是测试案例加一个demo? |
文档中加一个,用于展示能力,这个api 文档不一定能看懂 |
那么最终这个问题是需要怎么弄来解决? |
@itsuki0927 merge 一下 master,这个 pr 可以合了 |
@chenshuai2144 不好意思,最近课有点多,我今天合并master, 解决了冲突,然后运行yarn test的时候, 有这个错误, 是因为antd版本的问题? 我目前版本 |
@itsuki0927 你merge 一下master 的yarn ,这个就是4.6.4 增加的新featrue |
⚡️ Deploying PR Preview 10519e9 to surge.sh ... Build logs 🤖 By surge-preview |
😭 Deploy PR Preview 10519e9 failed. Build logs 🤖 By surge-preview |
⚡️ Deploying PR Preview 10519e9 to surge.sh ... Build logs 🤖 By surge-preview |
😭 Deploy PR Preview 10519e9 failed. Build logs 🤖 By surge-preview |
添加属性
renameKey
然后实现表单搜索的时候重命名字段.valueType
不是日期区间可以传入string | [string]
.valueType
是日期区间传入[string, string]
.close #318