修改 Redux 表单值并触发 Onchange

Posted

技术标签:

【中文标题】修改 Redux 表单值并触发 Onchange【英文标题】:Modify Redux Form Value and Trigger Onchange 【发布时间】:2017-09-13 01:02:18 【问题描述】:

我的 React Redux-Form 中有一个简单的隐藏输入字段,该字段的值由一些 Google 跟踪代码管理器代码设置,基本上是 document.getElementById('gtm_field').value = 'some value'

onchange 事件永远不会被触发,因此表单字段的值永远不会在我的 Redux 存储中设置。解决此问题的推荐方法是什么?请注意,我可以修改添加到页面的 GTM 代码来触发 html 元素事件,但它必须添加到我的 React 应用程序上下文的“外部”。

有没有一种简单的方法可以从“外部”JS 中设置 redux-form 输入字段的值?

【问题讨论】:

【参考方案1】:

你应该使用redux-form props中的函数change(),它可以改变Redux store中某个字段的值。用法如下:

handleChange()     
  this.props.change(field:String, value:any)

【讨论】:

在调用 change() 操作时不会触发 onchange 事件。这就是问题所在。 你有没有想过这个问题?

以上是关于修改 Redux 表单值并触发 Onchange的主要内容,如果未能解决你的问题,请参考以下文章

redux-form: Input onChange 后触发 Form onSubmit

单击获取列表值并使用值自动提交表单

使用 react redux 编辑表值

如何修改form表单中的input值并加密

第一次选择未定义以 redux 形式选择表单值

无法通过 React 和 Redux 将相同的表单组件用于添加或编辑模式