国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 幫助中心 > 正文

在vue+element ui框架里實現lodash的debounce防抖

2024-07-09 22:41:33
字體:
來源:轉載
供稿:網友

事情起因在:我使用element ui框架里的遠程搜索框,在單選時,組件內部已經做了防抖,query是在一段時間內的字符串。但是在多選時,并沒有做防抖,而是每輸入一個字符都要向后臺發一次請求,所以必須防抖,官方推薦使用lodash的debounce

在解決這個問題時,我遇到的坎兒主要有以下:

我首先在項目里用npm安裝lodash,先全局安裝,然后安裝到項目

npm install -g lodashnpm install --save lodash

安裝后,我就在我要用防抖的組件里,引入lodash

var lodash = require('lodash');

以下就開始了走彎路

我百度后,查詢到debounce總和keyup一起使用,所以我就在我的搜索框里綁定了keyup事件,但是綁定的事件并沒有生效,通過查詢得知,在element ui封裝了input,所以要在后面加上.native才可以覆蓋原來的事件

<el-select  v-model="AddCandidateFrom.follow_hr"  filterable  multiple  placeholder="請選擇跟進HR"  @keyup.native="getRemoteFollow"  :loading="followLoading"  class="select-item">  <el-option    v-for="item in followOption"    :key="item.value"    :label="item.label"    :value="item.value">  </el-option></el-select>

keyup成功綁定事件后,我發現得到的結果并不是我想要的,因為keyup綁定事件里得到的參數是我在鍵盤里輸入的一個字符,但我想要得到的是輸入后的整個字符串。所以我就又開始使用watch監聽this.AddCandidateFrom.follow_hr

監聽this.AddCandidateFrom.follow_hr后,我發現并沒有用,因為它代表的是多選框中已經選中了的字符串,正在輸入的字符串不會記錄進去,所以我又回退到使用遠程搜索本身的方法,綁定remote-methods

<el-select  v-model="AddCandidateFrom.follow_hr"  filterable  multiple  remote  placeholder="請選擇跟進HR"  :remote-method="getRemoteFollow"  :loading="followLoading"  class="select-item">  <el-option    v-for="item in followOption"    :key="item.value"    :label="item.label"    :value="item.value">  </el-option></el-select>

綁定了remote-method方法后,我就使用傳統的方法定義綁定的方法(),沒有使用es6簡寫的方法,這是因為,使用lodash.debounce返回的是一個函數。如果有參數,則在function空的形參列表里加入

getRemoteFollow: lodash.debounce(function () {  console.log('111');}, 300),

以上這篇在vue+element ui框架里實現lodash的debounce防抖就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網之家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 禄丰县| 涞水县| 樟树市| 长沙县| 临江市| 合肥市| 新乐市| 镇原县| 资源县| 岢岚县| 黄山市| 达州市| 铁岭市| 昆山市| 郸城县| 甘孜县| 剑川县| 邻水| 宜黄县| 磐石市| 康马县| 简阳市| 福鼎市| 霞浦县| 通渭县| 沅江市| 满洲里市| 江口县| 额济纳旗| 祁连县| 静宁县| 古浪县| 行唐县| 怀仁县| 顺义区| 兴海县| 湘阴县| 三江| 静宁县| 嘉荫县| 福贡县|