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

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

繁花如伊
浏览 660回答 1
1回答

慕容3067478

我提供一下我的思路,看能不能帮助你解决这个问题:1、在data中定义一个timer: null,用来存储定时器2、在methods中的getKey函数这么写:getKey(): {    var _this = this;    clearTimeout(_this.timer); //这里很重要,不管如何,都需要清除定时器,若用户持续输入,则不执行setTimeout里面的代码,相信你也能理解    _this.timer = setTimeout(function(){        //这里进行搜索并生成提示框    }, 1000);}不懂之处,请留言评论,希望能对你有所帮助!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript