Когда я выбираю опцию в select, в заполнителе или метке она не обновляется до выбранного значения. У меня нет больше идей, как это исправить :(
У меня есть два компонента. Первый:
class CreateProfile extends Component {
state = {
position: "",
};
addPosition = e => {
const positionChosen = e.target.value;
this.setState({
position: positionChosen
});
};
render() {
const { position } = this.state;
return(
<AssignPosition
addPosition={this.addPosition}
position={position}
/>
)
}
}
И во втором файле есть:
class AssignPosition extends Component {
render() {
const { addPosition, position } = this.props
return(
<select
name="select"
onChange={addPosition}
value={position}
>
<option value="null">Choose position</option>
<option value="position1">position1</option>
<option value="position2">position2</option>
<option value="position3">position3</option>
</select>
)
}
}
Когда Я выбираю позицию, поскольку в качестве метки все еще выбрано «Выбрать позицию», а не значение, которое я выбрал. Я не хочу вставлять здесь слишком много кода, но на самом деле это многошаговая форма. В AssignPosition я выбираю позицию а затем нажмите «Далее» для сводки. И что важно, когда я нажимаю «Далее», а затем я нажимаю «Назад» в метке выбора, есть правильное значение, поэтому оно обновляется, но как-то слишком поздно ...
Любая помощь будет принята. Пожалуйста, дайте мне знать, если вам нужно больше кода.
Редактировать: Я обнаружил проблему. В AssignPosition у меня также есть функция ShouldComponentUpdate.
shouldComponentUpdate(nextProps) {
if (this.props.addTest === nextProps.addTest) {
return false;
} else {
return true;
}
}
Мне это нужно , потому что на том же компоненте я использую MaterialTable и без этой функции у меня была проблема, описанная здесь: https://github.com/mbrn/material-table/issues/469 Когда я удаляю ShouldComponentUpdate, выборка работает правильно, но выборка в MaterialTable не делает: / Любые идеи как это исправить?