鍍金池/ 問答/HTML/ 想做一個(gè)搜索欄,輸入文字后會(huì)出現(xiàn)自動(dòng)提示框,問題是如何輸入文字1s后文本沒改變?cè)?/span>

想做一個(gè)搜索欄,輸入文字后會(huì)出現(xiàn)自動(dòng)提示框,問題是如何輸入文字1s后文本沒改變?cè)偕商崾究?/h1>

想做一個(gè)搜索欄,輸入文字后會(huì)出現(xiàn)自動(dòng)提示框,現(xiàn)在我已經(jīng)在vue內(nèi)通過@keyup="getKey",輸入文本綁定getKey函數(shù)發(fā)送ajax請(qǐng)求,但是輸入文本每次改變,提示框都會(huì)改變,我想在文本1秒沒改變的情況下再生成提示框要怎么做,也就是說等我輸入了完整的文本再進(jìn)行搜索生成提示框

回答
編輯回答
舊時(shí)光

我提供一下我的思路,看能不能幫助你解決這個(gè)問題:
1、在data中定義一個(gè)timer: null,用來存儲(chǔ)定時(shí)器
2、在methods中的getKey函數(shù)這么寫:

getKey(): {
    var _this = this;
    clearTimeout(_this.timer); //這里很重要,不管如何,都需要清除定時(shí)器,若用戶持續(xù)輸入,則不執(zhí)行setTimeout里面的代碼,相信你也能理解
    _this.timer = setTimeout(function(){
        //這里進(jìn)行搜索并生成提示框
    }, 1000);
}
不懂之處,請(qǐng)留言評(píng)論,希望能對(duì)你有所幫助!
2017年5月5日 14:14