Проверка элемента формы antd не выполняется, если значение по умолчанию не было изменено - PullRequest
1 голос
/ 01 мая 2020

У меня есть следующая форма antd в моем компоненте React. Значение по умолчанию исходит от реквизита, я собираюсь изменить магазин приставки при отправке. Но если пользователь не меняет входное значение и нажимает «Сохранить», проверка завершается неудачно, и в журнале консоли я получаю util.js:19 async-validator: ["'title' is required"]

<Form name="title" onFinish={this.submitEdit} >
    <Form.Item name="title" rules={[{ required: true, message: 'Required field' }]}>
        <Input defaultValue={this.props.title} placeholder="Enter entry title"/>
    </Form.Item>
    <div>
        <Button type="primary" htmlType="submit">Save</Button>
        <Button onClick={this.cancelEdit}>Cancel</Button>
    </div>
</Form>

У меня была похожая проблема с управлением календарем antd. Попытка написать собственный валидатор, но похоже, что если nothng изменился, входное значение не определено. У меня есть шанс заставить это работать?

1 Ответ

1 голос
/ 01 мая 2020

Да, в соответствии с do c здесь вам нужно использовать initialValue опору на <Form.Item>, и тогда это работает.

<Form name="title" onFinish={this.submitEdit} >
    <Form.Item
      name="title"
      rules={[{ required: true, message: 'Required field' }]} 
      initialValue={this.props.title}
      >
        <Input placeholder="Enter entry title"/>
    </Form.Item>
    <div>
        <Button type="primary" htmlType="submit">Save</Button>
        <Button onClick={this.cancelEdit}>Cancel</Button>
    </div>
</Form>

Приветствия.

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