想做一个搜索栏,输入文字后会出现自动提示框,现在我已经在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);
}
不懂之处,请留言评论,希望能对你有所帮助!
添加回答
举报
0/150
提交
取消