javascript - 在 Redux/React 中设置/清除输入

标签 javascript forms reactjs redux redux-form

我想知道在使用 React 时如何通过 redux 在一个清晰的字段中进行连接。 例如,我有一个带有一些示例代码的表单。

 <Field component={datewidget} id ="date" name="date" type="date" label="date" />
 <button type="button"onClick={() => {(clearMyInput());}}>
</button>

函数clearMyInput的调度如下:

const mapDispatchToProps = (dispatch) => {
  return {
    clearMyInput: () => {
      return dispatch(clearDate(datedata,value));
    }
  }
}

我的问题是如何通过简单地单击按钮并将输入值设置为无来清除输入字段。

例如在jquery中,我可以写这样的东西:

$("#button").click(function () {
    $("#date").val("");
});

我想知道如何在 React 中使用 redux 表单来做到这一点。

最佳答案

在您的 Field 组件中,从您的存储传递属性 value 并附加事件处理程序以分派(dispatch)更改。

<Field 
  component={datewidget} 
  id="date" 
  name="date" 
  type="date" 
  label="date"
  value={this.props.fieldValue}
  onChange={this.props.changeFieldValue}
/>

然后通过调度 clearDate 函数,您只需将所有表单的值设置为 '' 即可。我建议查看Redux Form这一切都无需样板即可完成。

关于javascript - 在 Redux/React 中设置/清除输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46224012/

相关文章:

javascript - 如何使 componentDidMount() 在渲染之前完成

javascript - 加载页面时 Firebase auth.currentUser 为 null,页面加载几毫秒后调用 authstatechange 时加载用户

javascript - React.js 中已弃用的 setProps() 的替代方案是什么?

javascript - TypeError : axios. get 不是一个函数?

javascript - 为企业注册表 npm 启用审计命令

javascript - XMLHttpRequest 未定义,在 chrome 扩展选项页面中

php - 如何在 PHPmailer 中显示所有选中的复选框

javascript - 仅在验证文件大小和文件扩展名后提交表单

php - 为什么要使用隐藏字段来检测表单提交?

javascript - 在 Jquery 中对 addClass 和 removeClass 进行动画处理