标签: redux-form

当键盘出现在 React Native 中时如何移动视图?

当 TextInput 获得焦点时,键盘会隐藏提交按钮。如何自动滑动TextInput下方的组件

reactjs react-native redux redux-form react-router-redux

2
推荐指数
1
解决办法
8120
查看次数

Redux Form:从外部包装组件访问 FieldArray fields prop

我有一个由几个经典字段和两个 FieldArray 组成的表单。这些 FieldArray 位于不同的部分,但相互关联。当我向 FieldArray A 添加一个项目(一行不同类型的字段)时,应该为 FieldArray B 构建另一行。FieldArray A 和 B 的不同之处在于它们表示不同的字段集合和结构,但是,当将一行添加到 A 中时,也必须将一行添加到 B 中。

为了向 FieldArray A 添加一行,我遵循记录的方法,在 FieldArray A 的包装组件内使用Push方法进入 prop 字段。但是,我无法访问 FieldArray B 的 prop 字段。该 prop 只是可从 FieldArray B 内的包装组件内访问。

是否有其他方式或方法可以从外部访问 FieldArray B 的 prop 字段?formValues() 或 formValuesSelector() 没有用。

reactjs redux-form react-redux-form

2
推荐指数
1
解决办法
1182
查看次数

在 redux-form 上使用 React-testing-library 时,表单输入不会改变

我正在尝试测试当用户将文本输入到 a 时input, a会从button变为。它显然可以在浏览器中运行,但我无法通过测试。我正在使用和。但是,如果我使用本机而不是s ,测试就会通过。disabledenabledredux-formreact-testing-libraryinputredux-formField

我用最少的代码创建了一个存储库来复制问题。

forms reactjs redux redux-form react-testing-library

2
推荐指数
1
解决办法
2281
查看次数

如何处理Redux表单提交的数据

我从redux表单官方页面开始关注本教程,网址为 http://redux-form.com/5.3.1/#/getting-started?_k=8q7qyo

我面临着两个问题

1:如何在handleSubmit函数或任何其他函数中获取表单数据。这样我就可以根据需要处理表格数据。

2:每次我提交表单时,页面都会刷新。我不想刷新我的页面

import React, {Component} from 'react';
import {reduxForm} from 'redux-form';

class ContactForm extends Component {
  render() {
    const {fields: {firstName, lastName, email}, handleSubmit} = this.props;
    return (
      <form onSubmit={handleSubmit}>
        <div>
          <label>First Name</label>
          <input type="text" placeholder="First Name" {...firstName}/>
        </div>
        <div>
          <label>Last Name</label>
          <input type="text" placeholder="Last Name" {...lastName}/>
        </div>
        <div>
          <label>Email</label>
          <input type="email" placeholder="Email" {...email}/>
        </div>
        <button type="submit">Submit</button>
      </form>
    );
  }
}

ContactForm = reduxForm({ // <----- THIS IS THE IMPORTANT PART!
  form: 'contact',                           // a …
Run Code Online (Sandbox Code Playgroud)

reactjs redux redux-form react-redux

1
推荐指数
1
解决办法
2166
查看次数

使用redux-form [v 6.0.5] getFormValues不会向props添加值

我正在尝试使用容器中的getFormValues将表单值添加到道具中.但是,当我在派生组件中查找values属性时,我得到一个未定义的.我错过了什么?

容器代码:

import {reduxForm, getFormValues} from 'redux-form';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import * as actions from '../actions/propertiesActions';
import Properties from '../components/common/Properties';

const mapStateToProps = (state, ownProps) => {
    return {
        form: ownProps.id,
        values: getFormValues(ownProps.id)(state)
    };
};

const mapDispatchToProps = (dispatch) => {
  return {
    actions: bindActionCreators(actions, dispatch)
  };
}

export default connect(mapStateToProps, mapDispatchToProps)(reduxForm()(Properties));
Run Code Online (Sandbox Code Playgroud)

在Properties组件中,调用this.props.values将返回undefined.

可能是什么问题?谢谢,

reactjs redux redux-form react-redux

1
推荐指数
1
解决办法
930
查看次数

redux-form-复选框数组

我有一个Redux表单,它可以正常工作,除了一件事:我需要创建一个复选框数组,以便用户可以在多个选项之间进行选择。

在HTML / PHP中,可以这样写:

<form>
    …
    <input type="checkbox" name="item[]" value="120" />
    <input type="checkbox" name="item[]" value="231" />
    …
</form>
Run Code Online (Sandbox Code Playgroud)

因此,在服务器端,将收到一个这样的数组(假设选中了每个复选框):,其中数组$item = [120, 231]中的每个项目都对应于复选框的值。

用redux形式做同样的事情:

let items = [{name:…, value:…}, …];

<form>
  {items.map(item => {
    <Field component="input" 
           type="checkbox"
           name={item.name + '[]'} 
           value={item.value}
  })}
</form>
Run Code Online (Sandbox Code Playgroud)

结果是输入:<input type="checkbox" name="item[]" value="true" />,这不是我期望的。另外,选中复选框,检查每个阵列。

所以我将的名称属性更改<Field />

name={`item[${item.value}]`}
Run Code Online (Sandbox Code Playgroud)

是什么使复选框能够按预期工作,但又导致提交时产生该数据:

 {
           //index: 0,   1,     ,…, 120, 121, …    ,231, …                      
     item: [undefinded,undefined,…,true,undefined,…,true,undefined,…]
 }
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:创建复选框(特别是其名称)是否错了,还是必须在初始化时一次提交一次数据时转换数据?

如果我必须转换数据,那最好的地方在哪里?

reactjs redux-form

1
推荐指数
1
解决办法
3715
查看次数

在Redux Forms中,如何根据另一个字段的值验证一个字段?

我正在使用Redux Form版本6.4.3并且我正在尝试验证两个日期字段,以使'to'日期必须始终在'from'日期之前.

其他例子说我应该能够引用fields数组,props但是没有这样的数组.该form state有称为数组registeredFields但是但那些刚刚似乎是形式{name: 'dob', type: 'Field'}

这是我的表单代码

import React      from 'react'
import DatePicker from 'react-bootstrap-date-picker'
import moment     from 'moment'

import {Field, reduxForm} from 'redux-form'
import {Form, Row, Col, Button, FormGroup, ControlLabel, FormControl, HelpBlock} from 'react-bootstrap'

// validations
const required = value => !value ? 'This field is required' : undefined
const maxDate = max => value =>
  value && moment(value).isAfter(max) ? `Must be before ${max}` : undefined
const …
Run Code Online (Sandbox Code Playgroud)

validation reactjs redux-form

1
推荐指数
1
解决办法
4652
查看次数

为什么Redux Form没有设置提交的值?

下面是我的RequestAnInviteredux-form ...问题是当我提交表单时,submitting从未更改为true..你可以看到我有一个下面的日志,它总是输出false.

当我提交表单时,我做错了什么,以及使提交从未设置为真的还原形式?谢谢

class RequestAnInvite extends React.Component {

  componentDidMount() {
    this.props.dispatch(loadTitles());
  }

  handleSubmit(data) {
    console.log(data);this.props.dispatch(requestInvitationsActions.createInvitationRequest(data));
  }

render() {
  const { handleSubmit, submitting } = this.props;

  console.log('submitting: ' + submitting);

    return (
      <div className="container-fluid h-100">  
        <form onSubmit={handleSubmit(this.handleSubmit.bind(this))}>
          <Field
            name="email"
            type="text"
            component={renderField}
            label="Email"
            placeholder="xxx@acme.com"
          />

        <p>submitting: {submitting}</p>

          <div className="form-group form-group-actions">
            <button type="submit" className="btn btn-primary" disabled={submitting}>
              {submitting ? 'Requesting...' : 'Request an Invite'}
            </button>
          </div>

        </form>
      </div>
    );
  }

}


RequestAnInvite = reduxForm({
  form: 'RequestAnInvite', …
Run Code Online (Sandbox Code Playgroud)

reactjs redux-form react-redux react-redux-form

1
推荐指数
1
解决办法
1599
查看次数

如何使用redux-form中的嵌套字段嵌套数据?

我有一个场景,其中有一个项目列表,每个项目都有名称和值选择器(所以两个输入).用户选择名称(其单选按钮),然后选择该值.我正在使用redux-form,到目前为止我所取得的成就:

<Field name='item1' component={DropDownPicker} /> <Field name='item2' component={DropDownPicker} />

提交给出的价值为 {item1: 1, item2: 2}

现在有很多不同类别项的值,它将是一个大的杂乱对象,所有类别数据都在一个地方,我想避免这种情况.

如何将这一项数据作为{first: {item1: 1, item2: 2}}集合或集合来获取[{item1: 1, item2: 2}]

reactjs react-native redux redux-form

1
推荐指数
1
解决办法
2644
查看次数

如何使用Redux形式添加和删除字段

我有一个很大的表格,其中的字段是基于模式动态绘制的。(我正在遍历JSON模式以写入我的字段)。

我的某些字段是嵌套的,因此命名约定遵循点符号。

ParentField.ChildField.Name
Run Code Online (Sandbox Code Playgroud)

这将自动嵌套数据作为输入。

ParentField {
  ChildField {
    Name: "Value of field"
  }
}
Run Code Online (Sandbox Code Playgroud)

redux-form提供了一个FieldArray,允许您push()按需字段,但这改变了数据格式以包括信息数组- 不是我想要的!

因此,我需要能够按需注册和注销字段(例如,单击按钮)

这些文档指向actionCreators,但我不知道如何实现它们。

reactjs redux-form react-redux

1
推荐指数
1
解决办法
4094
查看次数