在redux-form

时间:2016-12-19 14:21:43

标签: javascript reactjs redux redux-form

首先发帖,请耐心等待。

我已经搜索过这个问题,但无法弄清楚。

请考虑包含3个文本字段的表单:A,B和C. 填充A时,将触发异步服务器提取,结果可以定义B或C或两者的值。 如果用户更改了A,则必须清除B e C的旧值并触发新的提取。 到现在为止还挺好。我在必要时派遣改变行动来填补(或清除)B和C.

但是,有一条规则。 当字段由服务器提取填充时,必须禁用它,因此用户不能直接更改该值。 如果没有,它必须保持启用状态,以便用户填写它。

您认为跟踪必须禁用的字段的最佳方式是什么?

就我搜索而言,redux-form不会直接执行此操作。

我应该将此信息保存在redux状态的分离结构上吗?我应该使用reducer插件扩展redux-form状态吗? 无论哪种方式,我应该调度一种新的动作来禁用每个字段吗?

其他选择是使用" autofill"而不是"更改",并禁用标记为自动填充的字段。

我错过了一个非常简单的解决方案吗?

由于

1 个答案:

答案 0 :(得分:0)

我不确定是否有"简单"解决这个问题。就个人而言,我会创建一个React状态来跟踪B和C的状态,可能类似于

{
  BGenerated: true,
  CGenerated: true
}

当您呈现Field输入时,请添加道具disabled={this.state.BGenerated}