Reactjs antd defaultValue return undefined - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь создать функцию редактирования, проблема возникает, когда я пытаюсь получить значение из формы, скажем, пользователь редактирует свое имя, но он не редактирует свой адрес, это приведет к тому, что адрес не определен, хотя я уже установил defaultValue внутри него, это работает раньше в моей форме не antd, вот мой код

форма:

<Form onFinish={this.edit}>
            <Typography>Email</Typography>
            <Form.Item
            name="email"
            >
                <Input defaultValue={user.Email} value={user.Email} className="email form-control col-sm-6"/>
            </Form.Item>

            <Typography>Full Name</Typography>
            <Form.Item
            name="name"
            >
                <Input defaultValue={user.FullName} value={user.FullName} className="email form-control col-sm-6"/>
            </Form.Item>
            <Typography>Admin</Typography>
            <Form.Item
            name="admin"
            >
            {
                (user.IsAdministrator)
                ?   <div> 
                  <Select value="yes">Admin
                  <Select.Option value="no">Not Admin</Select.Option>
                  </Select>
                  </div>
                : <div>
                  <Select value="no">Not admin
                  <Select.Option value="yes">Admin</Select.Option>
                  </Select>
                  </div>  
            }
            </Form.Item>
            <Typography>Active Status</Typography>
            <Form.Item
            name="aktif"
            >
            {
                (user.IsActive)
                ? <Toggle className="switch-lg" checked/>
                : <Toggle className="switch-lg"/>
            }
            </Form.Item>
            <Form.Item>
            <Button type="primary" htmlType="submit" className="login col-md-10">Submit</Button>

и вот как я получаю значение:

edit(values){
        const name = values.name
        const aktif = values.aktif
        const index = this.state.id
        console.log(values)
    }

спасибо, любая помощь будет оценена

1 Ответ

0 голосов
/ 17 июня 2020

Как упоминалось в документах ,

Вы не можете установить значение для каждого элемента управления формой через value или defaultValue prop, вы должны установить значение по умолчанию с помощью initialValues из Form.

Пример ниже:

<Form
      onFinish={onFinish}
      initialValues={{
        residence: ['zhejiang', 'hangzhou', 'xihu'],
        prefix: '86',
      }}
    >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...