我们喜欢使用带有多个和搜索的下拉列表。在onSearchChange上,我们获取数据。但是如果我们开始一个新的搜索,已经选择的项目将消失...?!
这是我的代码:
constructor(props) {
super(props);
this.state = {
field1: [],
options: [],
isFetching: false
}
}
handleDropdown = (event, data) => {
this.setState({ field1: data.value});
}
handleSearchDropdown = (e, { searchQuery }) => {
this.setState({ isFetching: true })
fetch(`${'/searchgrants?query='}${searchQuery}`)
.then((response) => response.json())
.then(dataList => {
this.setState({ options: dataList , isFetching: false});
});
}
render() {
return (
<Form.Field
control={Dropdown}
onChange={this.handleDropdown}
options={this.state.options}
value={this.state.field1}
fluid
search
selection
required
minCharacters={1}
onSearchChange={this.handleSearchDropdown}
multiple
loading={this.state.isFetching}
/>
)
}发布于 2021-10-01 10:53:22
如果你想保留数据以前的状态,那么你只需要在setState中添加this.state.options并解构它。
this.setState({ options: [...this.state.options, ...dataList] , isFetching: false});https://stackoverflow.com/questions/69388297
复制相似问题