我正在尝试在视图中实现简单的搜索。

我有一个TextInput组件,用户可以在其中输入搜索词。

TextInput由一个函数处理,该函数等待2秒钟,然后将文本项发送到api。

这是处理程序功能的api:

performSearch(text){
    var typingTimer = null;

    if(typingTimer){
      typingTimer = null;
    }
    typingTimer = setTimeout( () => {
      this.setState({
        search: text
      });
      console.log(this.state.search);
    }, 2000);
  }


这是我希望拥有的行为:如果用户键入某些内容,则仅在用户按下最后一个键2秒钟后才进行api调用。如果用户在2秒钟前按下另一个键,则仅必须发送TextInput的最后一个值。

不幸的是我现在可以实现它。任何帮助将不胜感激。
干杯

最佳答案

尝试这个:

performSearch(text){
    clearTimeout(this.typingTimer);// this will cancel the previous timer

    this.typingTimer = setTimeout( () => {
      this.setState({
        search: text
      });
    }, 2000);
  }

关于javascript - 在react native中实现简单的搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39260969/

10-12 07:20