[英]In React JS, using react-select want to set options to default value after checkbox unchecked
我正在嘗試取消選中復選框並將選擇值重置為默認值后禁用選擇列表。但是我看到了我選擇的一個。 我在這里使用React-select作為選擇和選項。
APP.js
const adultOptions = [{ value: '1', label: '1' },{ value: '2', label: '2' }];
class App extends Component {
state = {
disableSelect2: true
}
selectDisableHandler2 = () => {
const showSelect = this.state.disableSelect2;
this.setState({ disableSelect2: !showSelect });
}
render() {
return (
<>
<div className="Container">
<div>
<table style={{ borderStyle: "solid" }}>
<caption style={{ borderStyle: "inherit" }}>
<input type="checkbox"
onClick={this.selectDisableHandler2} />Room 2</caption>
<tbody>
<tr>
<th>Adult (18+)</th>
<th>Children (0-17)</th>
</tr>
<tr>
<td>
<Select
options={adultOptions}
isDisabled={this.state.disableSelect2}
defaultValue={this.state.disableSelect2 ? adultOptions[0] : null}/>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</>
);
}
}
export default App;
```[In the image after unchecking checkbox, the options value is set to "2" which I selected, but I wanted it to be default value i.e. "1" ][1]
[1]: https://i.stack.imgur.com/S5gjP.png
您需要在組件狀態下處理選擇的值:
<Select
value={this.state.selectedOption}
isDisabled={this.state.disableSelect2}
options={adultOptions}
onChange={this.handleChange}
/>
讓復選框處理程序相應地對其進行更新:
selectDisableHandler2 = () => {
const showSelect = this.state.disableSelect2;
this.setState({
disableSelect2: !showSelect,
selectedOption:
showSelect === true ? this.state.selectedOption : adultOptions[0]
});
};
代碼框:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.