当前位置: 首页 > 面试题库 >

Redux表单:如何处理多个按钮?

鲁辉
2023-03-14
问题内容

我正在尝试向redux-form添加第二个提交按钮。

这两个按钮都应调度一个保存数据的操作,但是应根据所按下的按钮将用户路由到其他页面。

因此,我定义了一个处理程序,该处理程序作为onSubmitprop 传递给表单。

但据我所知,只有表单 数据 传递给此处理程序:

handleSubmit注意的文档:

传递给<form onSubmit={handleSubmit}> 或传递给的函数<button onClick={handleSubmit}>。它将运行同步和异步验证,并且,如果表单有效,它将this.props.onSubmit(data)使用表单数据的内容进行调用。

我所缺少的是一种还将有关按下按钮的信息(例如click事件)传递给onSubmit处理程序的方法,这样我就可以按预期进行保存和路由。


问题答案:

有许多方法可以执行此操作,但是它们都涉及根据所按下的按钮附加按钮数据。这是嵌入式版本。

class Morpheus extends Component {
  render() {
    const { handleSubmit } = this.props;
    return (
      <div>
        Fields go here
        <button onClick={handleSubmit(values => 
          this.props.onSubmit({ 
            ...values,
            pill: 'blue'
          }))}>Blue Pill</button>
        <button onClick={handleSubmit(values => 
          this.props.onSubmit({ 
            ...values,
            pill: 'red'
          }))}>Red Pill</button>
      </div>
    );
  }
}

export default reduxForm({
  form: 'morpheus'
})(Morpheus)

handleSubmit处理所有的验证检查和诸如此类的东西,如果一切是有效的,它会调用给它与表单值的功能。因此,我们为它提供了一个附加信息和调用的函数onSubmit()



 类似资料:
  • 问题内容: 我在非Java和非Android领域拥有扎实的经验,正在学习Android。 我对不同领域有很多困惑,其中之一就是如何处理按钮单击。至少有4种方式(!!!),此处简要列出 为了保持一致性,我将列出它们: 在活动中具有该类的成员,并将其分配给将处理活动方法中的逻辑的实例。 在“ onCreate”活动方法中创建“ onClickListener”,然后使用setOnClickListen

  • 问题内容: 我有一个带有一个电子邮件输入和两个提交按钮的表单,用于订阅和取消订阅新闻通讯: 我也有上课表格: 我必须编写自己的clean_email方法,并且我需要知道表单是通过哪个按钮提交的。但是提交按钮的值不在字典中。否则我可以获取按钮的值吗? 问题答案: 你可以在方法中使用来在验证之前访问POST数据。它应包含一个称为或取决于所按下按钮的键。

  • 我在视图布局中使用了三个EditText小部件,用于三个不同的过滤器。如果我输入其中一条,另一条文本不应该是空白的吗? 下面是我的片段: GenericTextWatcher方法: 当我运行这个程序并输入EditText时,logcat看起来是这样的: 03-03 15:25:39.616 25952-25952/com.xyz.abcI/art:显式并发标记扫描GC释放23671(1194KB)

  • 问题内容: 我正在寻找学习如何动态构建Redux表单。想法是,名为componentDidMount的组件从服务器处获取项目列表,并将其插入商店store.my_items中: 现在这些项目都在商店中,我想为store.my_items中的每个项目构建一个带有字段的redux表单。 例如,其中一些动态创建: 使用react,redux-form,什么是构建这种动态redux表单的正确方法? 谢谢

  • 问题内容: 有一些简单的方法可以处理来自同一表单的多个提交按钮吗?例如: 任何想法如何在ASP.NET Framework Beta中做到这一点?我搜索过的所有示例中都包含一个按钮。 问题答案: 在很大程度上基于MaartenBalliauw的帖子和评论,这是一个针对多个提交按钮问题的基于属性的,几乎干净的解决方案。 razor: and controller:

  • 我是JPA的新手,有一个关于如何处理实体的问题。在我的例子中,我有3个实体:用户、组和事件。 一个事件总是属于一个组。这意味着有一个OneToMulti-Relation。一个用户可以订阅多个组,这意味着有一个ManyToMulti-Relation。现在我遇到麻烦的部分。一个用户也可以订阅多个事件,这意味着也有一个ManyToMulti-Relation。 现在我的问题是。我如何在我的组实体中列