как получить значение antd select react js

#reactjs #antd

Вопрос:

Я использую antd , поэтому у меня много полей, некоторые из которых являются входными данными, выбором, загрузкой файлов и т. Д., Во antd входном компоненте есть атрибут name, но я не могу видеть имя в antd выбранном компоненте, когда я выбираю один из вариантов, получаю «не удается деструктировать текущий объект неопределенного».

Вот мой onChangeHandler

  handleChange = ({ currentTarget: input }) => {
    const errors = { ...this.state.errors }
    const errorMessage = this.validateProperty(input)
    if (errorMessage) errors[input.name] = errorMessage
    else delete errors[input.name]

    const data = { ...this.state.data }
    data[input.name] = input.type === 'file' ? input.files[0] : input.value
    this.setState({ data, errors })
  }
 

как я использую компонент select в повторно используемой форме

 renderSelect = (name, label, options) => {
    const { data, errors } = this.state

    return (
      <Select
        name={name}
        label={label}
        options={options}
        value={data[name]}
        error={errors[name]}
        onChange={this.handleChange}
      />
    )
  }
 

вот мой antd выбранный компонент

 <Select name={name} size="medium" style={{ width: '350px' }} {...rest}>
            <Select.Option />
            {options.map((option) => (
              <Select.Option key={option._id} value={option._id}>
                {option.name || option}
              </Select.Option>
            ))}
</Select>
 

Ответ №1:

Вы забыли label недвижимость для ан Option ?

               <Select.Option
                 label={option.name || option} 
                 key={option._id}
                 value={option._id}
              >
                {option.name || option}
              </Select.Option>
 

Как насчет handleChange того , является ли это объектом или строкой?

Комментарии:

1. Выберите.опция в свойстве метки поддержки antd doest поддерживает только ключ , значение

2. Он поддерживает ярлык ant.design/компоненты/выбор/…

3. нет, брат, ни Выбрать, ни Выбрать.Опция имеет свойство метки

4. Как насчет handleChange того , является ли это объектом или строкой?

5. он принимает событие для поля ввода, но select не поддерживает событие, поэтому значение select не меняется при выборе опции