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

访问父级中的表单节子表单值(redux- form )

在redux-form中,要访问父级中的表单节子表单值,可以通过使用redux-form提供的formValueSelector函数来实现。

formValueSelector函数是redux-form提供的一个高阶函数,用于从redux store中获取表单的值。它接受两个参数:表单名称和字段名称。

首先,需要在组件中引入formValueSelector函数:

代码语言:txt
复制
import { formValueSelector } from 'redux-form';

然后,使用formValueSelector函数创建一个选择器,并传入表单名称和字段名称:

代码语言:txt
复制
const selector = formValueSelector('formName');

接下来,可以在组件中使用connect函数将选择器与redux store连接起来,并将所需的表单值作为props传递给组件:

代码语言:txt
复制
import { connect } from 'react-redux';

// ...

const mapStateToProps = state => {
  const parentValue = selector(state, 'parentFieldName');
  const childValue = selector(state, 'childFieldName');

  return {
    parentValue,
    childValue
  };
};

export default connect(mapStateToProps)(YourComponent);

在上面的代码中,parentFieldNamechildFieldName分别是父级表单和子表单中的字段名称。通过调用selector函数,可以从redux store中获取相应的表单值,并将其作为props传递给组件。

这样,你就可以在组件中访问父级中的表单节子表单值了。在mapStateToProps函数中,可以根据需要获取其他字段的值,并将它们作为props传递给组件。

关于redux-form的更多信息和使用方法,可以参考腾讯云的相关产品文档:redux-form

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

相关·内容

Django中的form表单校验

前景: 我在使用django的form组件时,发现在view函数中的`form.is_valid()`在form表单校验未通过的情况下,返回的仍然是True,最后发现还是form表单的问题,异常函数并没有传递给...view函数 问题代码: form部分 def clean_email(self): """ 邮箱校验 :return: """ email_title =...= SendEmailSmsForm(request, data=request.POST) if form.is_valid(): #这里接收form传过来的异常,如果有异常则返回false...}) 原因: 我也不知道为什么 ValidationError 为什么没有把异常抛给view 更换另一个抛出异常的函数即可 解决: return ValidationError('邮箱未注册') #...改为 self.add_error("email", "邮箱未注册") # email为异常参数的field "邮箱未注册" 为报错文案

1.5K30

form表单中的enctype属性

一、form表单的作用 1、form>表单标签使用在一个网页中数据提交标签,这就不用多说了 2、form表单在提交时: 1)、先把form表单里的表单元素的name属性和value属性进行收集。...二、enctype属性 enctype:规定了form表单在发送到服务器时候,数据的编码方式,取值有三种情况: 1、application/x-www-form-urlencoded。默认的编码方式。...基于uri的percent-encoding编码的,表单里的数据被编码为名称/值对,但是在用文本的传输和MP3等大型文件的时候,使用这种编码就显得 效率低下。...2、multipart/form-data 。 指定传输数据为二进制类型,比如图片、mp3、文件。 这个一般文件上传时用。...它告诉我们传输的数据要用到多媒体传输协议,由于多媒体传输的都是大量的数据,所以规定上传文件必须是post方法,type=”file”,浏览器会把整个表单以控件为单位分割。

1.2K30
  • react-开发经验分享-modal框内嵌form表单数据提交到父级页面问题

    Author:Mr.柳上原 付出不亚于任何的努力 愿我们所有的努力,都不会被生活辜负 不忘初心,方得始终 ant框架里,父级页面的modal弹出框内嵌form表单时 提交按钮是modal框自带的确认和取消按钮...需要对form表单进行关联操作 父级页面如果需要传参给表单或获取表单的填入数据时 必须使用Form.create()方法 // 子级页面 // Ant formcreate 表单内置方法...const Popup = Form.create()(props => { const { form, ........ // 父级传过来的数据 } = props; /...> */} ) }) export default Popup; 父级页面引入的...modal组件里 传递需要的参数给该组件 // 父级页面 // modal框输入确认时获取form表单的数据 handleOk = async (formData) => { // 弹窗

    3.2K20

    form表单提交controller层接收到的值为乱码的问题

    今天遇到个中文乱码问题,大体情况是这样的:前台有一个form表单,其中有几个input的控件,值是带中文的,form表单只设置了id='form1' method='post' action='xxx...解决方法:为form表单再设置一个属性 enctype=‘mutipart/form-data’ ,此时后台接收到的值就没有乱码了。...分析如下:   enctype属性如果不设置,默认是“application/x-www-form-urlencoded”,该选项是告诉浏览器默认使用URL编码(就是字符流)的形式发送请求,而‘mutipart.../form-data’是告诉浏览器使用二进制(就是字节流)的形式发送请求,因为直接使用了二进制,所以不存在字符编码不统一的问题,也就规避了中文乱码的问题。   ...如有不准确的地方,请各位大牛给予更详细的分析。

    3.6K20

    如何使用JavaScript获取HTML表单中的值?

    在开发中,我们经常需要获取用户在表单中输入的数据,然后进行处理或提交到服务器。今天我们就来聊一聊,如何用JavaScript获取HTML表单中的值。...使用 FormData 构造函数 FormData 是一个非常方便的工具,它可以把表单中的所有数据打包成键值对的形式。...(const pair of formData.entries()) { console.log(`${pair[0]}: ${pair[1]}`); // 输出每一个表单字段的键和值 }...const formData = new FormData(form):FormData对象会自动读取表单中的所有输入字段,并将其封装成键值对的形式。...formData.entries():这个方法返回一个包含所有键值对的可迭代对象。我们可以用for...of循环来遍历它们,并输出每个字段的名称和值。

    20010

    微信小程序中的form表单数据如何获取

    知晓程序员,专注微信小程序开发的程序员! 前言:微信小程序中,form表单提交是比较常见的,今天来说一下form表单提交时,该如何获取表单项的数据。...知识点: A、做过小程序的同学,都知道小程序中是通过数据渲染页面的,没办法获取dom节点,表单提交就不能像H5页面那样去获取表单项的见容了。...B、小程序中的表单提交必须用户手动触发,不能通过JS自动提交~ 获取表单数据有两种方式 一、获取event中的值 正常的form表单提交,都可以在event.detail.value中获取到页面表单项填写的值...这里需要在wxml中的,把input,textarea,radio等表单项设置name属性,上图中的title,就是input的name属性~ 的清空内容~ 在form的submit时,直接var title = this.data.title; 就获取到了表单数据,很方便~

    5.3K60

    微信小程序-如何获取用户表单控件中的值

    ,然后提交给后端处理 那么在小程序当中有哪些方式可以获取到表单中的值呢,又怎么通过非表单提交的方式获取用户输入框中的值呢 换言之,若提交按钮在form之外,又如何实现表单的提交呢 在小程序中有两种方式可以获取表单的值...form 表单获取表单组件的值 这是最普遍通用的一种方法,所有用户输入的组件放置在form内,当点击form表单中form-type为submit的button组件时 它会将表单组件中的value值进行提交...拿到表单中各个表单组件的值,代码量少,简单 缺点: 处于form表单之外的其他表单控件值是无法拿到的,button按钮页必须要在form内,并且写法固定 下面介绍一种非表单提交方式,也就是不依赖form...有些时候,不一定就要非用form表单提交的方式,都有对应的应用场景 (打开小程序-爱的鼓励页面中的表单用的就是非form提交方式) 总结 全文总结两段话就是: 小程序中获取表单组件的值有两种方式,一种是通过传统的...form结合button组合的方式,这种方式有局限性,所有的表单组件都需要在form内,通过在表单组件内设置name值的方式获取表单组件中的值(必须要设置,否则拿到表单组件的值就是`undefined`

    7.2K11

    登录注册小案例实现(使用Django中的form表单来进行用户输入数据的校验)

    使用is_valid()方法可以验证用户提交的数据是否合法,而且HTML表单元素的name必须和django中的表单的name保持一致,否则匹配不到....(比如此例中request.POST获取的HTML表单元素的name属性值与form表单中的name是一样的:username,password) is_bound属性:用来表示form是否绑定了数据,...(2)在本案例中实战使用这个form表单: 在此名为mucis的app下创建forms.py的文件,编写表单校验(用户登录和注册的数据校验): from django import forms from...而我们form表单检验需要在实例化传入的 值就是字典类型,所以直接传入request.POST即可!...表单中的具体的错误格式的信息!

    4.4K00

    登录注册小案例实现(使用Django中的form表单来进行用户输入数据的校验)

    登录注册案例 1.登录注册第一步——创建模型生成数据表: (1)名为mucis的app下的models.py文件中创建: from django.db import models # Create your...html> 登录 form...> (templates/mucis/register.html文件~) 需要注意的是:别看我这注册和登录的页面一模一样,你就以为这俩直接共用一个模板就行了!...真正使用的时候注册需要的信息是比登录要多,所以这俩不可能使用同一个模板。本处为了方便讲解,所以只建了个含有用户名和密码的模型。所以会造成注册和登录可以用同一个模板的假象!...不信你看我在下面注册模板中又随便加了个输入框,但是其实它没用,我只是为了强调这个问题! <!

    4.7K00

    寒假提升 | Day7 CSS 第五部分

    ,那么这个块级元素的margin-top值会传递给父元素 margin-bottom传递:当块级元素的底部线和父元素的底部线重叠,那么这个块级元素的margin-bottom值会传递给父元素 折叠:...说出元素水平居中的方案以及对应的场景 行内块元素(包括inline-block元素) 水平居中:在父元素中设置text-align: center 块级元素 水平居中:margin:0 auto...,值就是属性名本身 3.3. input模拟按钮 表单可以实现按钮效果: 普通按钮(type=button):使用value属性设置按钮文字 重置按钮(type=reset):重置它所属form...selected:默认被选中 3.7. form表单 form通常作为表单元素的父元素: form可以将整个表单作为一个整体来进行操作; 比如对整个表单进行重置; 比如对整个表单的数据进行提交; form...(1) :last-of-type,等同于:nth-last-of-type(1) :only-child,是父元素中唯一的子元素 :only-of-type,是父元素中唯一的这种类型的子元素 下面的伪类偶尔会使用

    1K10

    JQuery

    访问(传一个参数是控制的key) 修改(参数一是key,参数二是这个key对应的值)参数之间用逗号隔开 3.2val() val()只用来修改访问value属性值,用法和html()完全相同 传参表示修改...字典中如果属性key只是单纯的width,可以不写引号。 在前端中100px可以写成100,字典中属性key的value值100可以不加引号,但是100px必须写引号。 父级执行了命令 find选中子集执行了命令 下面的选择器很重要 .parent()选择元素的父元素 可以先用一个this,然后找到这个元素的父级。...验证两组不一样的时候,鼠标先进入父级,再进入子级,然后没有再次触发,验证成功。如果是直接进入子级的话,因为子级和父级是一体的,会触发。 form').submit(function(){}) ----- 一个页面只能有一个form标签 HTML5.0 表单域标签的id名.submit(function(){}

    7.8K20

    Vue核心api和组件开发实践

    if比for优先级高。不建议两个一起写在同一个标签上。 用户输入(表单) 通过v-model实现"双向"绑定。...请求数据的时机:created和mounted created运行时,还未挂载到DOM,不能访问到$el属性,可用于初始化一些数据,但和DOM操作相关的不能在created中执行;monuted运行时,...$emit.on('add',item=>{ this.add(item) }) } 在这个过程中,bus创建了一个新的vue实例,所有页面/组件都能访问到。...思考如下问题: el-form-item如何知道校验规则?表单全局校验是如何实现的 value绑定,input事件 设计form组件 接下来回到增加列表的表单中,继续造轮子。...问题来了,dd-form包含一个button,但button的父组件没有设置prop值因此不参与校验。判断依据在于,谁设置了prop,谁就需要校验。

    2K20

    商城项目-品牌的新增

    1.1.4.编写表单 1.1.4.1.表单 查看文档,找到关于表单的部分: ? v-form,表单组件,内部可以有许多输入项。...在展示的时候,应该是先由用户选中1级,才显示2级;选择了2级,才显示3级。形成一个多级分类的三级联动效果。 这个时候,就不是普通的下拉选框,而是三级联动的下拉选框!...说明: 规则是一个数组 数组中的元素是一个函数,该函数接收表单项的值作为参数,函数返回值两种情况: 返回true,代表成功, 返回错误提示信息,代表失败 1.1.5.2.项目中代码 我们有四个字段:...返回boolean值,true代表校验通过 2、通过解构表达式来获取brand中的值,categories和letter需要处理,单独获取。...因此,我们需要在新增的ajax请求完成以后,关闭窗口 但问题在于,控制窗口是否显示的标记在父组件:MyBrand.vue中。子组件如何才能操作父组件的属性?或者告诉父组件该关闭窗口了?

    2.6K10
    领券