欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue+Element實(shí)現(xiàn)搜索關(guān)鍵字高亮功能

 更新時(shí)間:2019年05月28日 15:25:44   作者:face light~  
這篇文章主要為大家詳細(xì)介紹了vue+Element實(shí)現(xiàn)搜索關(guān)鍵字高亮功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近做了一個(gè)日志搜索的需求,要在頁(yè)面上實(shí)現(xiàn)海量日志的關(guān)鍵字搜索。為了搜索更清晰,我最終實(shí)現(xiàn)了多條件搜索,且搜索結(jié)果的記錄中的關(guān)鍵字全部高亮。

一、實(shí)現(xiàn)思路

1 實(shí)時(shí)監(jiān)控表格,實(shí)現(xiàn)關(guān)鍵字的定位;

2 點(diǎn)擊搜索按鈕以后,實(shí)現(xiàn)記錄中關(guān)鍵字的樣式變化(即高亮)。

二、實(shí)現(xiàn)過(guò)程

1 搜索條件表單

了解了實(shí)現(xiàn)思路,就讓我們一起來(lái)看一下實(shí)現(xiàn)過(guò)程(關(guān)鍵位置均給了注釋?zhuān)?/p>

<el-form :inline="true" :model="formQuery" >
  <el-row>
  <el-col :span="8">
   <el-form-item label="日志編碼" >
   <el-input v-model="formQuery.queryMessage1" ></el-input>
   </el-form-item>
   </el-col>
   <el-col :span="8" >
   <el-form-item label="日志編碼2">
   <el-input v-model="formQuery.queryMessage2" ></el-input>
   </el-form-item>
   </el-col>
   </el-row>
   <el-row>
   <el-col :span="20">
   <el-form-item label="日志編碼3">
   <el-input v-model="formQuery.queryMessage3" ></el-input> </el-form-item>
   </el-col>
   <el-col :span="4">
   <el-form-item>
   <el-button @click="loadData()" >查詢(xún)</el-button>
   </el-form-item>
   </el-col>
  </el-row>
</el-form>

2 表格部分

<el-table :fit="true" ref="logInfosData" max-height="700" :data="logInfosData"
  element-loading-text="loading" :highlight-current-row="true"
   size="mini" >
  <el-table-column prop="_source.message" :label="$t('Loginformation')" sortable >
    <template slot-scope="scope">
    <span v-html="showData(message)"
      == <!--注意此處的寫(xiě)法,該函數(shù)showData返回的結(jié)果是一段HTML代碼,在這里是直接進(jìn)行填充,填充的內(nèi)容是修改了關(guān)鍵字樣式以后的內(nèi)容。-->==
      ></span>
     </template>
    </el-table-column>
</el-table>

3.實(shí)時(shí)監(jiān)聽(tīng)表格

computed:{
  // 實(shí)時(shí)監(jiān)聽(tīng)表格
  tables: function() {
   const search = this.listQuery.queryMessage||this.listQuery.queryMessage2||this.listQuery.queryMessage3
   if (search) {
    return this.logInfosData.filter(dataNews => {
     return Object.keys(dataNews).some(key => {
      return String(dataNews[key]).toLowerCase().indexOf(search) > -1
     })
    })
   }
   return this.tableData
  }
 }

4.修改關(guān)鍵字樣式

// 篩選變色
  showData(val) {
   val = val + '';
   if (this.checkPara(val,this.listQuery.queryMessage)||this.checkPara(val,this.listQuery.queryMessage2)
    ||this.checkPara(val,this.listQuery.queryMessage3)) {
    //如果搜索結(jié)果記錄包含關(guān)鍵字中的任何一個(gè),那么修改樣式
    return val.replace(this.listQuery.queryMessage'<font color="#409EFF">' + this.listQuery.prodcd + '</font>')
     .replace(this.listQuery.queryMessage2, '<font color="#409EFF">' + this.listQuery.queryMessage3 + '</font>')
     
   } else {
    return val //不做任何修改
   }
  },
  //判斷搜索記錄是否包含某個(gè)關(guān)鍵字
  checkPara(val,para){
    if (val.indexOf(para) !== -1 && para !== ''){
     return true;
    }else {
     return false
    }
  }

三、總結(jié)

實(shí)現(xiàn)以后會(huì)覺(jué)得思路很簡(jiǎn)單。其實(shí)任何一個(gè)多么復(fù)雜的需求,只要在做之前,理清思路,分成一個(gè)個(gè)小的實(shí)現(xiàn)過(guò)程,那么就自然很簡(jiǎn)單,而且效率也很高。這也是我的真切感受。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談Vue組件單元測(cè)試究竟測(cè)試什么

    淺談Vue組件單元測(cè)試究竟測(cè)試什么

    這篇文章主要介紹了淺談Vue組件單元測(cè)試究竟測(cè)試什么,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • vue下拉刷新組件的開(kāi)發(fā)及slot的使用詳解

    vue下拉刷新組件的開(kāi)發(fā)及slot的使用詳解

    這篇文章主要介紹了vue下拉刷新組件的開(kāi)發(fā)及slot的使用詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 詳解vee-validate的使用個(gè)人小結(jié)

    詳解vee-validate的使用個(gè)人小結(jié)

    本篇文章主要介紹了詳解vee-validate的使用個(gè)人小結(jié),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-06-06
  • vue的h5日歷組件實(shí)現(xiàn)詳解

    vue的h5日歷組件實(shí)現(xiàn)詳解

    這篇文章主要為大家詳細(xì)介紹了vue的h5日歷組件使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 使用WebStorm用Debug模式調(diào)試Vue等前端項(xiàng)目的步驟

    使用WebStorm用Debug模式調(diào)試Vue等前端項(xiàng)目的步驟

    WebStorm提供了更簡(jiǎn)單的前端調(diào)試方法,記錄一下WebStorm調(diào)試步驟啟動(dòng)前端項(xiàng)目,這篇文章主要介紹了使用WebStorm用Debug模式調(diào)試Vue等前端項(xiàng)目的步驟,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • Vite3結(jié)合Svelte3使用@import導(dǎo)入scss樣式

    Vite3結(jié)合Svelte3使用@import導(dǎo)入scss樣式

    這篇文章主要為大家介紹了Vite3結(jié)合Svelte3使用@import導(dǎo)入scss樣式實(shí)現(xiàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • v-slot和slot、slot-scope之間相互替換實(shí)例

    v-slot和slot、slot-scope之間相互替換實(shí)例

    這篇文章主要介紹了v-slot和slot、slot-scope之間相互替換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • Vant中Popover氣泡彈出框位置錯(cuò)亂問(wèn)題解決

    Vant中Popover氣泡彈出框位置錯(cuò)亂問(wèn)題解決

    這篇文章主要為大家介紹了Vant中Popover氣泡彈出框位置錯(cuò)亂問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 前端開(kāi)發(fā)利器Vite完整版詳解

    前端開(kāi)發(fā)利器Vite完整版詳解

    這篇文章主要給大家介紹了關(guān)于前端開(kāi)發(fā)利器Vite完整版詳解的相關(guān)資料,Vite是一種基于ES模塊的開(kāi)發(fā)服務(wù)器和構(gòu)建工具,專(zhuān)為現(xiàn)代化的前端開(kāi)發(fā)而設(shè)計(jì),需要的朋友可以參考下
    2023-11-11
  • vue $refs動(dòng)態(tài)拼接獲取值問(wèn)題

    vue $refs動(dòng)態(tài)拼接獲取值問(wèn)題

    這篇文章主要介紹了vue $refs動(dòng)態(tài)拼接獲取值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評(píng)論