gpt4 book ai didi

javascript - react 选择在状态改变时不重置值

转载 作者:行者123 更新时间:2023-11-28 03:29:05 26 4
gpt4 key购买 nike

我有 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();
};

这是我选择的组件,如果我在其上使用值选项,它会崩溃,并且我无法更改它保留在占位符默认消息上的国家/地区。

        <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
});
};

最佳答案

如果您尝试在构造函数中绑定(bind) pais1Cambio 和 pais2Cambio 是否有效?

关于javascript - react 选择在状态改变时不重置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58331127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com