Школа группы проектных групп предоставила интерфейс в React, для которого мы должны создать бэкэнд.Мы решили сделать это с Laravel.Теперь все работает хорошо, кроме одной вещи: в раскрывающемся списке не отображается выбранное значение в нашем приложении Laravel-mix, а в их приложении React.Мы ничего не меняли в выпадающем коде, поэтому кто-то может объяснить мне, почему он сейчас не работает?Я не очень опытен в React, поэтому любая помощь приветствуется.
Это код:
/* handleChange passes the selected dropdown item to the state. */
handleChange = (selectedOption) => {
this.setState({ selectedOption });
if (selectedOption) {
console.log(`Selected: ${selectedOption.label}`);
}
};
/* This render function, renders the grid, dropdown-menu, 'Add Item'-button
* and 'Reset Layout'-button. This is also where the createElement() function
* is called for each grid item.
*/
render() {
const { selectedOption } = this.state;
const value = selectedOption && selectedOption.value;
return (
<div>
<div className='widgetselecter'>
<Select className='dropdown'
name="form-field-name"
value={value}
onChange={this.handleChange}
options={[
{ value: 'one', label: 'One' },
{ value: 'Clock', label: 'Clock' },
{ value: 'Photo', label: 'Photo' },
{ value: 'Weather', label: 'Weather' },
]}
/>
<button className='addButton' onClick={this.onAddItem}>Add Item</button>
<button className='reset' onClick={this.onLayoutReset}>Reset Layout</button>
<span className='title'>/Dash</span>
</div>
<ResponsiveReactGridLayout
onLayoutChange={this.onLayoutChange}
onBreakPointChange={this.onBreakPointChange}
{...this.props}>
{_.map(this.state.items, el => this.createElement(el))}
</ResponsiveReactGridLayout>
</div>
);
}
}