如何动态更改FieldArray中的组件类型

时间:2018-08-13 13:44:41

标签: redux-form

我有一个FieldArray,在为其添加一行新的字段(this.props.array.push("xxx", { obj })时,我想更改Field的一种组件类型。

例如,我有一个名为summaryNo的值。

当summaryNo === 0时,我希望该字段成为Picker。否则,作为半输入字段。

有可能吗?我尝试了以下代码:

export const renderInputOrPicker = ({ input, label, children, ...custom) => { if (input.value instanceof Array && input.value[0] === "toBeAPicker") { return ( <Picker mode="dropdown" {...input} selectedValue={input.value[1]} onValueChange={(value) => { setTimeout(() => { input.onChange(value); }, 10); }} children={children} {...custom} /> ); } else { return ( <Item regular> <Input {...input} /> </Item> ); } };

有什么建议吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我以为我已经找到了出路。我只是不需要输入字段。我想做的是拥有一个可以显示“ true”或“ false”并可以由禁用状态控制的字段。

Picker字段已经可以做到。这意味着我可以将其设置为只读或可编辑并显示当前值。

总而言之,我仍在寻找答案,这是此Redux表单方案的更好解决方案!

谢谢。