首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索应在没有enter或Search按钮的情况下触发,延迟2秒

搜索应在没有enter或Search按钮的情况下触发,延迟2秒
EN

Stack Overflow用户
提问于 2020-03-26 21:46:03
回答 1查看 33关注 0票数 0

所以,我被要求制作一个ReactJS页面,在那里用户应该能够从https://omdbapi.com上搜索电影、连续剧等,其中一个条件是Search should be triggered without an enter or search button with a delay of 2 seconds.找不到直接的问题,我想我应该把它贴出来,以便更容易地搜索其他人。

EN

回答 1

Stack Overflow用户

发布于 2020-03-26 21:46:03

因此,代码很简单:

代码语言:javascript
复制
var timeout
this.fetchingData = (url) => {
  timeout = setTimeout(
    () => {
      fetch(url)
        .then(response => {
          if (response.status !== 200) {
            return console.error('Not working')
          };
          return response.json()
        })
        .then(data => {
          this.setState({
            Search: data.Search,
            response: data.response,
            totalResults: data.totalResults
          })
        })
        .catch(error => {
          alert(error)
        })
    }, timeToDelay);
};

this.myStopFunction = () => {
  clearTimeout(timeout);
}

}

handlePageChange = (event) => {
  if (this.state.movieName === '') {
    console.error("ENTER MOVIE NAME FIRST")
  } else {
    this.myStopFunction()
    this.handleChange(event)
  }
}
handleChange = (event) => {
  this.myStopFunction()
  const {
    value,
    name
  } = event.target;
  this.setState({
    [name]: value
  }, () => value ? this.myFunction(this.state, this.url, this.fetchingData) : null);
};

return()内幕

代码语言:javascript
复制
<FormInput
  name='page'
  type='number'
  handleChange={this.handlePageChange}
  value={this.state.page}
  label='page number'
  required
/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60868743

复制
相关文章

相似问题

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