为了账号安全,请及时绑定邮箱和手机立即绑定

如何在react中input-text设置一个定时器?

如何在react中input-text设置一个定时器?

慕的地8271018 2018-12-19 17:19:48
我有一个搜索字段。现在它搜索每个键控。所以如果有人输入“Windows”,它将使用onChange方法进行搜索:“W”,“Wi”,“Win”,“Wind”,“Windo”,“Window”,“Windows”我想要一个延迟,所以只有当用户停止输入200 ms时,才会进行搜索。原代码handleChange: function(event) {  var newVal = event.target.value;  this.setState({value: newVal});    // 能否在这里加个定时器,判断大于200ms后再进行下面的方法  this.doSearch();},doSearch: function() {  someFunction(this.state.value);},.....<input id="search-input" className={active} placeholder="Type to search" value={inputValue}   onChange={this.handleChange} />
查看完整描述

1 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

延迟是可以的,先清定时器,在加定时器就可以

handleChange: function(event) {

    var newVal = event.target.value;


    this.setState({value: newVal});


    this.timer && clearTimeout(this.timer);

    this.timer = setTimeout(() => {

        this.doSearch();

    }, 200)

}


查看完整回答
反对 回复 2019-01-09
  • 1 回答
  • 0 关注
  • 510 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信