Установка значения поля с помощью setFieldValue Ant design - PullRequest
1 голос
/ 09 апреля 2020

Я работаю с реагировать и использую Ant Design v4.1.0, у меня есть форма и при отправке (onFini sh), я отправляю идентификатор редуктору, чтобы получить все значения полей. Я делаю это из-за моего требования (я должен выбрать идентификатор в самой форме и получить все данные много раз, а также открыть одну и ту же форму из многих мест с указанным c идентификатор). Могли бы быть и более эффективные способы выполнить мое требование, но сейчас я делаю это.

Я получаю нужные данные - реквизиты (я подтвердил), но я не могу обновить поля новыми реквизитами.

Я установил

    `class CustomForm extends React.Component {
      formRef = React.createRef();
      constructor()
        render(){
          return(
            <Form 
            ref={this.formRef} 
            onFinish={this.onFinish} 
            name="customForm"
            initialValues=
             {{
               //(trying) email: this.props.customerData.map((d) => d.email)
             }}
           >
         <Form.Item label="Email" name="email">
       <Input />
     </Form.Item>
    </Form>
    )} 
   }`

Я прочитал ant design document и упоминается, что начальные значения не работают при изменении состояния, и мы должны использовать setFieldsValue.

При попытке я добавил «formRef» для формы на основе классов в соответствии с их примером, но не смог использовать setFieldValue. Я попытался с

`componentDidUpdate(){
    alert(JSON.stringify(this.props.customerData.map((d) => d.email)));
    this.formRef.current.setFieldsValue({
      mobileNumber: this.props.customerData
        .map((d) => d.mobile_number),
      email: this.props.customerData.map((d) => d.email),
    });
   }`

и получил ошибку «Не удается прочитать свойство 'setFieldsValue' со значением NULL"

Как я могу установить значения, фактически используя setFieldValues? И почему this.formRef имеет значение null?

1 Ответ

0 голосов
/ 09 апреля 2020

Итак, onFini sh Я установил loading = true, и мое возвращение было

(this.state.loading ? <Spin /> : <Form />)

Причина, по которой я получил this.formRef = null.

Сейчас решена проблема.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...