首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在redux表单中单击提交后,如何不重置字段中的数据?

在redux表单中,单击提交后不重置字段中的数据,可以通过以下步骤实现:

  1. 在redux的reducer中,定义一个新的action类型,例如"SUBMIT_FORM"。
  2. 在reducer中,处理"SUBMIT_FORM"类型的action,将表单数据保存到state中的一个新字段,例如"submittedData"。
  3. 在表单组件中,使用connect函数将redux的state和action与表单组件进行绑定。
  4. 在表单组件中,使用onSubmit事件处理程序来触发"SUBMIT_FORM"类型的action,并阻止表单的默认提交行为。
  5. 在表单组件中,使用redux的state中的"submittedData"字段来初始化表单的初始值。

这样,当用户单击提交按钮时,表单数据将被保存到redux的state中的"submittedData"字段,而不会重置表单字段中的数据。同时,表单组件也可以通过redux的state中的"submittedData"字段来初始化表单的初始值。

以下是一个示例代码:

代码语言:txt
复制
// Redux reducer
const initialState = {
  submittedData: null,
};

const formReducer = (state = initialState, action) => {
  switch (action.type) {
    case "SUBMIT_FORM":
      return {
        ...state,
        submittedData: action.payload,
      };
    default:
      return state;
  }
};

// Redux action
const submitForm = (data) => {
  return {
    type: "SUBMIT_FORM",
    payload: data,
  };
};

// Form component
import React from "react";
import { connect } from "react-redux";
import { submitForm } from "./actions";

class Form extends React.Component {
  handleSubmit = (event) => {
    event.preventDefault();
    const formData = new FormData(event.target);
    const data = Object.fromEntries(formData.entries());
    this.props.submitForm(data);
  };

  render() {
    const { submittedData } = this.props;
    const initialValues = submittedData || {};

    return (
      <form onSubmit={this.handleSubmit}>
        <input type="text" name="name" defaultValue={initialValues.name} />
        <input type="email" name="email" defaultValue={initialValues.email} />
        <button type="submit">Submit</button>
      </form>
    );
  }
}

const mapStateToProps = (state) => {
  return {
    submittedData: state.form.submittedData,
  };
};

export default connect(mapStateToProps, { submitForm })(Form);

请注意,以上示例代码中并未提及任何特定的云计算品牌商,如需了解腾讯云相关产品和产品介绍,建议访问腾讯云官方网站或咨询腾讯云官方客服。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑

有一个这样的需求: 当商品设置为立即上架时,通过审核就进入上架状态,当设置为保存时,通过审核就进入未上架状态。...所以,需要在保存前根据提交的审核状态和设置的方式得到商品状态再保存,而通过$form->model()->attribute_name只能获取提交后的值,不能更改。...Google之后发现了已经有解决方案:可以修改提交表单时的逻辑吗 #375 在模/ /型中添加如下方法: public static function boot() { parent::boot()...; static::saving(function ($model) { // 从$model取出数据并进行处理 }); } 以上这篇浅谈laravel-admin form中的数据,在提交后,保存前,...获取并进行编辑就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持/ /。

3.7K00
  • ExtJs二(实现登录)

    如果想要在脚本中使用ExtJS的提示信息,可将书附带的资源包中的Ext.js文件复制到ExtJS目录中,复制后,在解决方案资源管理器将Ext.js拖到到login.js文件中,就会生成以下代码:  //...一般的登录窗口都包含用户名、密码和验证码3个文本输入框,还包含有显示验证码的图片、登录和重置按钮。因而需要用到的ExtJS控件包括表单面板、图片、工具栏、按钮和文本字段。...6.接着加入表单面板的提交地址,这里定为Account/Login,就是Account控制器的Login方法,代码如下: url: "Account/Login", 7.因为表单内使用的都是文本字段,因而可以统一做一些定义...验证码不区分大小写,如果看不清楚验证码,可单击图片刷新验证码。"...登录失败(failure配置项),只写了一个空函数的目的是因为表单的提交返回的数据格式是一样的,处理方式也一样,因而可使用同一个函数进行处理,但是还没写到,因而先保留一个空函数。

    1.9K20

    JavaScript(十三)

    提交表单时可能出现的最大问题,就是重复提交表单。解决这一问题的办法有两个: 在第一次提交表单后就禁用提交按钮 利用 onsubmit 事件处理程序取消后续的表单提交操作。...重置表单 在用户单击重置按钮时,表单会被重置。使用 type 特性值为 “reset” 的 input 或 button 都可以创建重置按钮,如下: 在重置表单时,所有表单字段都会恢复到页面刚加载完毕时的初始值。如果某个字段的初始值为空,就会恢复为空; 而带有默认值的字段,也会恢复为默认值。...用户单击重置按钮重置表单时,会触发 reset 事件,利用这个机会,我们可以在必要时取消重置操作。 表单字段 可以像访问页面中的其他元素一样,使用原生 DOM 方法访问表单元素。...的字段,在提交表单时都不能空着。

    3.3K20

    ExtJs二(实现登录)

    如果想要在脚本中使用ExtJS的提示信息,可将书附带的资源包中的Ext.js文件复制到ExtJS目录中,复制后,在解决方案资源管理器将Ext.js拖到到login.js文件中,就会生成以下代码:  //...一般的登录窗口都包含用户名、密码和验证码3个文本输入框,还包含有显示验证码的图片、登录和重置按钮。因而需要用到的ExtJS控件包括表单面板、图片、工具栏、按钮和文本字段。...6.接着加入表单面板的提交地址,这里定为Account/Login,就是Account控制器的Login方法,代码如下: url: "Account/Login", 7.因为表单内使用的都是文本字段,因而可以统一做一些定义...验证码不区分大小写,如果看不清楚验证码,可单击图片刷新验证码。"...登录失败(failure配置项),只写了一个空函数的目的是因为表单的提交返回的数据格式是一样的,处理方式也一样,因而可使用同一个函数进行处理,但是还没写到,因而先保留一个空函数。

    2.1K10

    HTML表单的用法

    get是从服务器上获取数据,post是向服务器传送数据。 get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。...post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 get传送的数据量较小,不能大于2KB。...3、在input里,name 有什么作用? name 属性用于对提交到服务器后的表单数据进行标识,只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。 4、radio 如何分组?...=”hidden” name=”ExPws” value=”dd”> 其实说白了就隐藏域不在前台显视的,跟表单的元素一样.有名字有数值,只是在提交数据是不可见的 隐藏域的作用: 隐藏域在页面中对于用户是不可见的...,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。

    2.4K50

    HTML基础知识之表单

    表单的用途非常广泛,比如电子邮箱、用户注册登录、网上搜索等,简单来说,表单是一个将用户信息阻止起来的容器; 一、表单标签及属性 标签就是表单标签,该标签用于在网页中创建表单区域,属于一个容器标签...; action:表单的属性之一,用于指示服务器上处理表单输出的程序; method:表单属性之一,此属性告诉浏览器如何将数据发送给服务起,指定向服务器发送数据的方法,是用post或者get; 中输入的最大字符数; (2)三种按钮 reset按钮:重置按钮,将表单重置为最初状态; submit按钮:提交按钮,用户单击按钮后,表单将会提交到...action属性所指的URl,并传递表单数据; button按钮:普通按钮,需要与事件关联使用; 四、表单的只读与禁用设置 readonly:只读,网站服务器方不希望用户修改的数据,这些数据在表单元素中显示...; disabled:禁用,只有满足某个条件后,才能选用某项功能; 禁用的表单不会被提交;

    1.1K30

    文档和元素的几何滚动

    目的是避免不完整或者无效的数据通过网络提交到服务端程序。onsubmit事件只能通过单击提交按钮触发。...当用户在一个文本域输入文本或从下拉列表中选择一个选项后就触发change事件,当用户在一个文本域中该数据不是每次用户输入一个键值时都会触发该事件。它仅仅当用户改变了值才会触发该事件。...失去焦点触发blur事件 在事件处理程序代码中关键字this将会触发该事件的文档元素的一个引用,或者通过this.form.x得到该表单中以x命名的元素 事件总结 提交触发的事件 当用户单击按钮(或者回车的时候...重置触发的事件 当用户单击重置按钮,将会触发onreset事件。...当用户单击按钮,会触发onclick事件,由于改变状态会触发onchange事件,但是,当用户单击其他单选按钮而导致这个单选按钮状态的改变,后者不触发onchange事件。

    5.2K00

    Element Plus 表单验证详解

    label 属性用于设置表单项的标签,prop 属性用于绑定验证规则。 :输入框组件,使用 v-model 绑定数据。 :按钮组件,用于提交和重置表单。...submitForm:提交表单时触发,调用 validate 方法验证整个表单。 resetForm:重置表单,将所有字段值重置为初始值,并移除校验结果。...表单验证详解 验证规则 在 rules 对象中,每个字段对应一个数组,数组中包含一个或多个验证规则对象。每个验证规则对象可以包含以下属性: required: 是否必填。...prop 是字段的属性名称,callback 是验证完成后的回调函数。 resetFields(): 重置表单,将所有字段值重置为初始值,并移除校验结果。...clearValidate(props): 移除表单项的校验结果。props 是需要移除校验的字段属性组成的数组,如果不传则移除所有字段的校验结果。

    48110

    Element Plus 表单验证详解

    ref 用于在方法中引用表单,rules 用于设置验证规则,label-width 设置表单标签的宽度。:表单项容器。...label 属性用于设置表单项的标签,prop 属性用于绑定验证规则。:输入框组件,使用 v-model 绑定数据。:按钮组件,用于提交和重置表单。...submitForm:提交表单时触发,调用 validate 方法验证整个表单。resetForm:重置表单,将所有字段值重置为初始值,并移除校验结果。...prop 是字段的属性名称,callback 是验证完成后的回调函数。resetFields(): 重置表单,将所有字段值重置为初始值,并移除校验结果。...clearValidate(props): 移除表单项的校验结果。props 是需要移除校验的字段属性组成的数组,如果不传则移除所有字段的校验结果。

    1.3K10

    HTML中的表单

    在网页中,最常见的表单形式有文本框,密码文本框,单选按钮,复选框,按钮(普通,提交,重置),文件域或图像域,文本域和列表(菜单)。 表单标记是。...action:表单的处理程序,表单中收集到的数据将要提交到的地址。 name:为了防止表单信息在提交到后台处理程序时出现混乱而设置的名称。...6.提交按钮: 提交按钮不需要设置onclick在单击该按钮时可以实现表单内容的提交。...7.重置按钮: 单击重置按钮后,可以清楚表单的内容,恢复默认的内容。 例如: ? 在浏览器中打开,效果如图: ?...正常情况只能看到一个选项,单击菜单后可以看到所有的选项。 如下是一个实现血型,生肖,星座的下拉列表: ? 在浏览器中打开,效果如图: ?

    5.3K20

    表单

    一.表单    表单就是一个将用户信息组织起来的容器:       的内容放置在表单容器中,当用户单击"提交"按钮的时候,表单会将数据统一发送给服务器>    1.表单的内容:       ...:此属性指示服务器上处理表单输出的程序,一般来说,当用户单击表单上的"提交"按钮后信息发送到Web服务器上,由attion属性所指的程序处理如果action为空则默认提交到本页     method:此属性告诉浏览器...,如何将数据发送给服务器,他指向服务器发送数据的方法。...在日常开发中建议大家尽可能地采用post的方法来提交表单数据,   元素常用属性       text password checkbox radio submit reset file...,这些数据在表单元素中显示。

    4.8K90

    input标签的type属性汇总

    6.提交按钮 提交按钮是表单中的核心控件,用户完成信息的输入后一般都需要单击提交按钮才能完成表单数据的提交。...可以对其应用 value属性,改变提交按钮上的默认文本。 7.重置按钮 当用户输入的信息有误时,可单击重置按钮取消已输入的所有表单信息。...如果所输入的内容是URL地址格式的文本,则会提交数据到服务器;如果输入的值不符合URL地址格式,则不允许提交,并且会有提示信息。...在用户输入内容后,其右侧会附带一个删除图标,单击这个图标按钮可以快速清除内容。...16 number类型 number类型的 的文本框。在提交表单时,会自动检查该输入框中的内容是否为数字。

    3.8K10

    6.HTML输入表单标签元素介绍

    enctype 属性: 规定在向服务器发送表单数据之前如何对其进行编码, 在 POST 请求使用其值为(text/plain、multipart/form-data、application/x-www-form-urlencoded...Get 请求:用于没有敏感信息,且少量数据的提交,其表单数据在页面地址栏中是可见的,例如 action page.php?...firstname=Mickey&lastname=Mouse Post 请求:通常用于敏感信息以及大量数据的提交,它更加安全其在页面地址栏中被提交的数据是不可见的。...,选择后这些文件可以使用提交表单的方式上传到服务器上,或者通过 Javascript 代码和文件 API 对文件进行操作,注意该提交必须为POST请求。...formnovalidate 属性: 带有两个提交按钮的表单(进行验证或不进行验证),第一个提交按钮提交数据时带有默认的表单验证,第二个提交按钮提交数据时不进行表单验证。

    4.6K10

    React 组件优化

    useReducer 的工作原理与 redux 有些相似,useReducer 返回的数组的第二个参数就像 redux 中的 dispatch,可以派发 action。...函数接收原始的 state 数据,它会把这个数据深度克隆,然后把克隆后的 state 传递给回调函数,我们在回调函数里就可以进行 push 操作了!...Formik 工具库 Formik 库可以让你在 React 中轻松构建出健壮的 Form 表单程序。... 组件比较复杂,在构建 Formik 表单程序时,Formik 和下面它的几个属性是需要设置的: initialValues 接收一个对象,表示初始化的表单控件的值,对象的键应是表单的...在 Formik 官网,作者也举例了使用 redux-form 的缺陷: 表单状态本质上是短暂的和局部的,并不需要 redux 对其进行跟踪; 使用 redux 管理状态时,状态更新要派发 action

    7.2K20

    【Java 进阶篇】创建 HTML 注册页面

    每个输入字段都有相应的标签,提高了表单的可读性和可访问性。 表单属性 在创建表单时,我们使用了一些重要的属性来定义表单的行为和外观: action:指定表单数据提交到的服务器端脚本的URL。...required:这个属性用于标记字段为必填字段,如果用户未填写将无法提交表单。 处理表单提交 在实际应用中,当用户填写并提交表单时,通常需要使用服务器端脚本来处理表单数据。...在上面的示例中,我们将表单数据提交到"process_registration.php"进行处理。在该服务器端脚本中,你可以获取并验证用户提交的数据,然后执行相应的操作,如将用户信息存储到数据库中。...当表单提交后,服务器会处理用户的请求,执行相应的操作,并返回结果给用户。 表单验证 在处理用户提交的数据时,表单验证是至关重要的。它确保输入的数据符合期望的格式和要求,防止恶意数据或错误数据被提交。...总结 通过本博客,我们学习了如何创建一个简单的HTML注册页面,包括表单元素、标签、输入字段和提交按钮。我们还了解了一些用于验证用户提交数据的常见技巧和最佳实践。

    44520

    实战 | 0~1 自定义组件开发问卷小程序

    步骤2:定义数据源 传统开发流程需要先进行需求分析,分析完成后需要按照需求进行数据库的设计,在腾讯云微搭低代码平台中,只需在控制台左侧的【数据源管理】中自定义数据源即可,无需单独构建数据库。...设置完毕后需要单击页面底部的【立即创建】按钮,否则刚才添加的字段都不生效。...在容器组件内放入文本组件。选中容器组件后,在左侧的组件面板中单击【文本】组件,并在文本组件【数据】>【文本内容】中修改文本的内容。...单选内容的 value 会被提交到数据库里。 8. 调查项添加完毕后,给调查表内容底部增加提交按钮。按钮放置在表单容器的插槽中,与表单组件平级,以关联到同容器内的表单组件数据。...数据管理 用户填写了问卷调查后,管理员可以单击【数据源管理】,查看用户提交的问卷信息数据,单击【数据管理后台】,腾讯云微搭低代码 LowCode 平台自带内容管理(CMS)后台可以查看和管理数据。

    3K20

    邮件狂欢:Next.js和Resend SDK的电子邮件魔法

    在本教程中,您将学习如何使用 React-Email、Next.js 和 Resend 从经过验证的域发送电子邮件。先决条件以下是您在本教程中需要遵循的内容:Node.js 安装在您的计算机上。...在仪表板的左侧,选择域并单击添加域按钮:出现一个新页面。通过在输入字段中输入域来添加域。然后单击“添加”按钮。现在您已添加域,下一步是添加域名系统 (DNS) 记录。...toast从库导入react-hot-toast,在成功发送电子邮件后显示通知。定义一个名为 的异步函数onSubmit来在用户提交表单时处理表单提交。...reset提供的功能用于useForm在提交后重置表单字段。实施动态电子邮件模板使用 React Email,创建现代电子邮件模板变得非常容易。...该POST函数是一个异步函数,用于处理传入的 POST 请求。、和变量是从解析的请求正文中提取的name。emailmessage现在,导航到项目的主页并在表单字段中输入一些数据。点击“预约”按钮。

    2K00
    领券