首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >React语义ui下拉远程获取

React语义ui下拉远程获取
EN

Stack Overflow用户
提问于 2021-09-30 07:52:21
回答 1查看 68关注 0票数 1

我们喜欢使用带有多个和搜索的下拉列表。在onSearchChange上,我们获取数据。但是如果我们开始一个新的搜索,已经选择的项目将消失...?!

这是我的代码:

代码语言:javascript
运行
复制
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}
      />
    )
}
EN

回答 1

Stack Overflow用户

发布于 2021-10-01 10:53:22

如果你想保留数据以前的状态,那么你只需要在setState中添加this.state.options并解构它。

代码语言:javascript
运行
复制
this.setState({ options: [...this.state.options, ...dataList] , isFetching: false});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69388297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档