Возвращение события react-select
onChange и значения реквизитов имеют следующий тип:
Событие / значение :
null | {value: string, label: string} | Array<{value: string, label: string}>
Так в чем же ошибка Это означает, что вы не можете найти атрибут NULL (не выбран) или любые атрибуты с именами name
(вам нужно value
или label
)
Для множественного выбора возвращается подпрограмма список вариантов.
Вы можете найти соответствующую информацию в их документе
const options = [
{ value: 'chocolate', label: 'Chocolate' },
{ value: 'strawberry', label: 'Strawberry' },
{ value: 'vanilla', label: 'Vanilla' },
];
Обновление
Для вашей ситуации (один выбор)
- опция с указанным выше типом
const option = [
{value: '1', label: 'name1'},
{value: '2', label: 'name2'}
]
- сохранение состояния выбрано
value
как id
changeHandler = e => {
this.setState({ part_id: e ? e.value : '' });
};
- выбрать выбранный элемент опции с помощью сохраненного
id
<Select
name="part_id"
value={option.find(item => item.value === part_id)}
onChange={this.changeHandler}
options={option}
/>
Для нескольких вариантов выбора
- сохранить состояние как массив идентификаторов
changeHandler = e => {
this.setState({ part_id: e ? e.map(x => x.value) : [] });
};
<Select
isMulti // Add this props with value true
name="part_id"
value={option.filter(item => part_id.includes(item.value))}
onChange={this.changeHandler}
options={option}
/>