1

我无法将 defaultValue 设置为文本区域,我正在使用react-final-form并将 TextareaField 包装在 react-final-form 的 Field 元素中

这是我的代码:

class App extends React.Component {
  submitForm(values) {
   .....
  }

 renderForm({ handleSubmit }) {
  return (
   <form
    onSubmit={handleSubmit}
   >
    <Field
      name="description"
    >
      {({ input, meta }) => (
        <TextareaField
          label='Description'
          error={meta.error}
          isInvalid={meta.submitFailed && !meta.valid}
          inputAttrs={{
            placeholder: 'Desc..',
          }}
          defaultValue='my text'
          onChange={(e) => { input.onChange(e.target.value); }}
          value={input.value}
          required
        />
      )}
    </Field>
    <Button text="Submit" type={Button.Opts.Types.SUBMIT} />
  </form>
 );
}
render() {
  return (
    <Form
      onSubmit={this.submitForm}
      render={this.renderForm}
      validate={(values) => {
        const errors = {};
        if (!values.description) {
          errors.description = 'Required';
        }
        return errors;
      }}
    />
   );
 }
}

严重卡住了,我在哪里失踪?

4

1 回答 1

2

如果您想my text成为字段中的初始值,则需要传递initialValues={{ description: 'my text' }}Form组件。

于 2018-09-21T16:41:18.780 回答