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

首頁 > 編程 > JavaScript > 正文

vue實現多組關鍵詞對應高亮顯示功能

2019-11-19 11:08:10
字體:
來源:轉載
供稿:網友

先上效果圖:

 

我們有多組關鍵詞,這里實現了關鍵詞的背景色與匹配值的字體顏色值相同

先擬定一組數據

colors: [    "#FFB5C5",    "#EEC900",    "#D1EEEE",    "#40E0D0",    "#FFFF00",    "#FF7F00",    "#FF6A6A",    "#B3EE3A",    "#9F79EE",    "#FFC1C1"   ],   keywordsdetail: ["好看", "美麗", "wfewf"],   comments: [    {     text: "老師 好看好看222"    },    {     text: "老師美麗11111極了"    },    {     text: "老師太搞笑34234了"    },    {     text: "老師搞笑的不的了"    },    {     text: "老師:ox::beer:wfewf啊"    }   ]

我們自定義一些顏色值以及關鍵詞和詳情文字

用內聯樣式的方法設置關鍵詞的不同背景色顯示

<span    v-for="(item,index) in keywordsdetail"    :key="index"    class="keyworditem"    :style="{backgroundColor:colors[index]}"    @click="showpartkey(index,comments)"   >{{item}}</span>

下面定義關鍵詞匹配改變字體顏色的方法

changeColor(resultsList, keywords) {   keywords.map((keyitem, keyindex) => {    resultsList.map((item, index) => {     if (keyitem && keyitem.length > 0) {      // 匹配關鍵字正則      let replaceReg = new RegExp(keyitem, "g");      // 高亮替換v-html值      let replaceString =       '<span class="highlight"' +       ' style="color: ' +       this.colors[keyindex] +       ';">' +       keyitem +       "</span>";      resultsList[index].text = item.text.replace(       replaceReg,       replaceString      );     }    });   });   this.comments = [];   this.comments = resultsList;  }

我們主要看這一行

let replaceString = '<span class="highlight"' +' style="color: ' + this.colors[keyindex] + ';">' + keyitem + "</span>";

這里采取了字符串拼接的方法來進行渲染

但如果你寫成這樣

<span class="highlight">keyitem</span>

然后在css中定義highlight的樣式

.highlight {color:red}

這樣做是不生效的

解釋我參考了這位兄弟說的

所以解決方法有以下幾種

1.直接去掉css的scoped屬性 但是這樣做很容易搞亂布局

2.寫成以下形式

.aaa >>>.highlight{color:red}

3.把樣式以字符串拼接的方式插入

這樣做的好處是 可以動態設置v-html的樣式

總結

以上所述是小編給大家介紹的vue實現多組關鍵詞對應高亮顯示功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五大连池市| 新巴尔虎右旗| 宁陕县| 安阳县| 冕宁县| 紫金县| 额尔古纳市| 平果县| 呼图壁县| 芦溪县| 阿坝县| 嘉义市| 西和县| 宣汉县| 巫溪县| 上饶县| 平泉县| 泸州市| 杭锦后旗| 太原市| 榕江县| 平阳县| 新疆| 白山市| 石林| 辽阳县| 巩义市| 伊金霍洛旗| 塔河县| 宜阳县| 句容市| 尤溪县| 运城市| 涿鹿县| 英德市| 观塘区| 新邵县| 于都县| 临安市| 浦江县| 阿巴嘎旗|