【发布时间】:2025-12-12 20:45:02
【问题描述】:
我正在使用Redux-form 执行任务。
此表单位于表单容器中。
在表单容器或表单组件中。
有两个按钮。一个加法按钮和一个减法按钮。
表单组件是:
import React from 'react'
import { Field, reduxForm } from 'redux-form'
import TextField from 'material-ui/TextField'
import RaisedButton from 'material-ui/RaisedButton'
const renderTextField = ({ input, label, meta: { touched, error }, ...custom }) => (
<TextField hintText={label}
floatingLabelText={label}
errorText={touched && error}
{...input}
{...custom}
/>
)
const ActivityDetailForm = props => {
const { handleSubmit, pristine, reset, submitting,} = props
return (
<form onSubmit={handleSubmit}>
<div>
<RaisedButton
type="submit"
disabled={pristine || submitting}
label="saveChange"
fullWidth={true}
secondary={true}
/>
</div>
</form>
)
}
export default reduxForm({
form: 'ActivityDetailForm', // a unique identifier for this form
})(ActivityDetailForm)
现在,我面临一个问题。当我点击添加按钮时,
<div>
<Field name="field1" component={renderTextField} label="text1: "/>
</div>
上面的代码将在form 元素中创建。
当我再次单击添加按钮时,将在form 元素中创建包含名为Field 的div 元素field2。
...Field 命名为 field3
... Field 命名为 field4
... Field 命名为 field5
...
当我单击减法按钮时。最后一个Field 元素将被销毁。
你知道解决这个问题的方法吗?
【问题讨论】:
-
我并不完全清楚您要达到的目标。是否要使用加减按钮动态添加表单元素?
-
@Dennis 是的。如何使用
FieldArray来实现呢? redux-form.com/6.6.3/docs/api/FieldArray.md
标签: reactjs redux material-ui redux-form