У меня есть 2 выбранных страны ввода, которые я хочу сбросить на заполнитель по умолчанию при сбросе всех состояний внутри формы. Я использую 2 переменные состояния для хранения стран, у меня есть функция, которая сбрасывает мое состояние, но выбор входов не сбрасывается по умолчанию. Он остается выбранным в последней выбранной стране. Я сбросил состояние до нуля, но не могу заставить его работать. Не могли бы вы помочь мне здесь?
class FormularioCalcular extends React.Component {
constructor(props) {
super(props);
this.state = {
moneda1: '',
monto1: '',
moneda1placeholder: 'Cantidad a enviar',
moneda1disable: false,
moneda2: '',
monto2: '',
moneda2placeholder: 'Cantidad a recibir',
moneda2disable: false,
pais1: null,
pais2: null,
disable: false
};
this.timeout = 0;
this.moneda1Cambio = this.moneda1Cambio.bind(this);
this.moneda2Cambio = this.moneda2Cambio.bind(this);
this.baseState = this.state;
}
pais1Cambio = select => {
let value = select.value;
let value2 = prefijoMoneda(value);
this.setState({
pais1: value,
moneda1: value2
});
};
pais2Cambio = select => {
let value = select.value;
let value2 = prefijoMoneda(value);
this.setState({
pais2: value,
moneda2: value2
});
};
resetState = () => {
this.setState(this.baseState);
this.setState({
pais1: null,
pais2: null
});
ReactTooltip.hide();
};
Это мои выбранные компоненты, если я использую параметр value на нем, он вылетает и я не могу изменить страну, в которой он остается в сообщении по умолчанию для заполнителя.
<Select
name="paisorigen"
onChange={this.pais1Cambio}
options={paises}
className="paisSelectContainer"
classNamePrefix="paisSelect"
placeholder="Pais de origen"
isDisabled={this.state.disable}
/>
<Select
name="paisdestino"
onChange={this.pais2Cambio}
options={paises}
className="paisSelectContainer"
classNamePrefix="paisSelect"
placeholder="Pais destino"
isDisabled={this.state.disable}
/>
ОБНОВЛЕНИЕ
Значение параметра, при котором происходит сбой, потому что он должен получить и объект со значением и меткой, как это.
<Select
name="paisorigen"
onChange={this.pais1Cambio}
options={paises}
className="paisSelectContainer"
classNamePrefix="paisSelect"
placeholder="Pais de origen"
isDisabled={this.state.disable}
value={{ value: this.pais1, label: labelPais(this.pais1) }}
/>
Но теперь у меня возникла проблемапотому что, когда я нажимаю какую-то опцию. Это остается в значении по умолчанию. Это функция, которую я использую onChange
pais1Cambio = select => {
let value = select.value;
let value2 = prefijoMoneda(value);
this.setState({
pais1: value,
moneda1: value2
});
};