Я сделал компонент, содержащий два выпадающих списка.Опции во втором раскрывающемся меню должны быть отфильтрованы в зависимости от выбранной опции из первого раскрывающегося меню.
Теперь я хочу отобразить отфильтрованный массив, который хранится в const, аналогично тому, как я сопоставляю options1:
render() {
const options1 = [
{value: 'one', label: 'One'},
{value: 'two', label: 'Two'}
];
const options2 = [
{value: 'one-a', label: 'One A', link: 'one'},
{value: 'one-b', label: 'One B', link: 'one'},
{value: 'two-a', label: 'Two A', link: 'two'},
{value: 'two-b', label: 'Two B', link: 'two'}
];
const filteredOptions = options2.filter(o => o.link === this.state.selectedOption.value);
return (
<div style={style}>
<div>
<label>Select one</label>
<select
value={this.state.selectedOption.value}
onChange={this.handleChange1}
>
{options1.map(tag => <option>{tag.value}</option>)}
</select>
</div>
<div>
<label>Then the other</label>
<select
value={this.state.selectedOption2.value}
onChange={this.handleChange2}
>
{filteredOptions.map(tag => <option>{tag.value}</option>)}
</select>
</div>
</div>
)
}
Первое отображение options1 работает просто отлично.Тем не менее, мой тег выбора становится пустым для сопоставления filterOptions.
Я понятия не имею, почему он не будет работать.У кого-нибудь есть идея?
Полный код: https://www.codepile.net/pile/evNqergA