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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:38:47
字體:
供稿:網(wǎng)友

最近做了一個(gè)日志搜索的需求,要在頁面上實(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)過程

1 搜索條件表單

了解了實(shí)現(xiàn)思路,就讓我們一起來看一下實(shí)現(xiàn)過程(關(guān)鍵位置均給了注釋)

<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()" >查詢</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)"      == <!--注意此處的寫法,該函數(shù)showData返回的結(jié)果是一段HTML代碼,在這里是直接進(jìn)行填充,填充的內(nèi)容是修改了關(guān)鍵字樣式以后的內(nèi)容。-->==      ></span>     </template>    </el-table-column></el-table>

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

computed:{  // 實(shí)時(shí)監(jiān)聽表格  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    }  }            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 兴国县| 长白| 平利县| 莱阳市| 揭东县| 贵州省| 临汾市| 兴安县| 高要市| 茂名市| 临邑县| 乐都县| 齐齐哈尔市| 临西县| 浦北县| 黔西县| 克拉玛依市| 阿鲁科尔沁旗| 固安县| 凤翔县| 垫江县| 上蔡县| 绥中县| 喜德县| 绍兴县| 大姚县| 禹州市| 新巴尔虎右旗| 米泉市| 界首市| 仲巴县| 霸州市| 砀山县| 亳州市| 平陆县| 淳安县| 芮城县| 阜宁县| 南丹县| 广东省| SHOW|