markwei19960204
markwei19960204
> 当然是因为对业务产生了影响我才注意到这个,但是已经偏离主题太远了。而且文档描述跟逻辑不符本身就是问题,如果文档就是说`transform`会在初始化时调用一次而且参数是原始值,我只会觉得设计不合理,不会开这个issue。 > > 考虑这样一种情况:我需要填入若干个基因,后端约定用`|`分割基因,比如`"FOXP2|GNB4"`这样是两个基因。基因很多又容易写错大小写,于是我用`ProFormSelect`提供了下拉框,其值是`string[]`的,因此传入后端时需要`transform: v => v.join('|')`,编辑时需要从后端`convertValue: v => v.split('|')`。 > > 当我打算编辑时,给出了`initialValues`期待得到预填充,但初始化时`transform`就会被调用,其输入还是未经过`convertValue`的数据库原始表示,是个 string,于是就有了`value.join is not a function`。 > > 1. 如果`transform`输入是`convertValue`过的,那这一次多调用无所谓,反正这是个纯函数 > 2. 如果按照文档,`transform`发生在提交时,那也无所谓,因为提交时`transform`的输入就是数组 > > 有一些规避方式,我已实施,不必多谈 你好...
同样希望,最后你是如何实现的