Ich verwende die Redux-form
, um eine Aufgabe zu erledigen. Dieses Formular in einem Formcontainer. Im Formularbehälter oder in der Formularkomponente. Es gibt zwei Tasten. Ein Hinzufügen-Button und ein Subtrahieren-Button. Die Formularkomponente ist:Steuern Sie das Redux-Formular mit der Schaltfläche
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)
Nun stehe ich vor einem Problem. Wenn ich auf die Schaltfläche Hinzufügen klicken,
<div>
<Field name="field1" component={renderTextField} label="text1: "/>
</div>
der obige Code wird in dem form
Element angelegt werden.
Wenn ich auf die Schaltfläche Hinzufügen erneut auf, das div
Element, das die field2
Field
genannt umfasst wird im form
Elemente angelegt werden.
... Field
field3
genannt ... Field
field4
genannt ... Field
field5
namens ... Wenn ich die Taste subtrahieren klicken. Das letzte Field
Element wird zerstört.
Kennen Sie die Methode, um dieses Problem zu lösen?
Es ist mir nicht ganz klar, was Sie erreichen wollen. Möchten Sie die Schaltflächen zum Hinzufügen und Subtrahieren verwenden, um Formularelemente dynamisch hinzuzufügen? – Dennis
@Dennis JA. Wie benutze ich 'FieldArray' um das zu erreichen? http://redux-form.com/6.6.3/docs/api/FieldArray.md/ – jiexishede