javascript - 跟踪 redux-form 上禁用字段的最佳方法

标签 javascript reactjs redux redux-form

第一次发帖,请耐心等待。

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

请考虑包含 3 个文本字段的表单:A、B 和 C。 当 A 被填充时,将触发异步服务器提取,结果可以定义 B 或 C 或两者的值。 如果 A 被用户更改,则必须清除 B e C 的旧值并触发新的提取。 到目前为止,一切都很好。我将在必要时发送更改操作以填充(或清除)B 和 C。

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

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

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

我应该将此信息保存在 redux 状态的单独结构中吗?我应该使用 reducer 插件扩展 redux-form 状态吗? 无论哪种方式,我是否应该发送一种新类型的操作来禁用每个字段?

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

我是否缺少一个非常简单的解决方案?

谢谢

最佳答案

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

{
  BGenerated: true,
  CGenerated: true
}

并且当您呈现您的 Field 输入时,添加 Prop disabled={this.state.BGenerated}

关于javascript - 跟踪 redux-form 上禁用字段的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41224650/

相关文章:

javascript - 如何在 Bootstrap 工具提示中显示数据库消息

javascript - 如果/else 语句在事件监听器内部无法正确执行; JavaScript

Javascript 解析 JSON 错误,但在验证器中工作正常

javascript - React + Redux,我的 UI 相关的计算应该去哪里,容器组件,还是 reducer?

javascript - 我如何让这个功能成为一个 promise ?

javascript - ESLint 如何集成到 Create React App 中?

javascript - React-native:FlatList 获取滚动引用

javascript - 使用 es2015 map 获取索引失败

reactjs - 在 Redux 连接中使用 React forwardRef

typescript - redux-actions createAction 默认参数在 PayloadCreator 函数中(typeScript)