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

想做一个搜索栏,输入文字后会出现自动提示框,问题是如何输入文字1s后文本没改变再生成提示框

想做一个搜索栏,输入文字后会出现自动提示框,问题是如何输入文字1s后文本没改变再生成提示框

繁花如伊 2019-03-06 09:16:43
想做一个搜索栏,输入文字后会出现自动提示框,现在我已经在vue内通过@keyup="getKey",输入文本绑定getKey函数发送ajax请求,但是输入文本每次改变,提示框都会改变,我想在文本1秒没改变的情况下再生成提示框要怎么做,也就是说等我输入了完整的文本再进行搜索生成提示框
查看完整描述

1 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

我提供一下我的思路,看能不能帮助你解决这个问题:

1、在data中定义一个timer: null,用来存储定时器

2、在methods中的getKey函数这么写:


getKey(): {

    var _this = this;

    clearTimeout(_this.timer); //这里很重要,不管如何,都需要清除定时器,若用户持续输入,则不执行setTimeout里面的代码,相信你也能理解

    _this.timer = setTimeout(function(){

        //这里进行搜索并生成提示框

    }, 1000);

}

不懂之处,请留言评论,希望能对你有所帮助!


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

添加回答

举报

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