91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

react中實現搜索結果中關鍵詞高亮顯示

發布時間:2020-08-21 21:12:17 來源:腳本之家 閱讀:753 作者:蓓蕾心晴 欄目:web開發

網上看到很多js實現的關鍵詞高亮顯示,方法都是一個道理,先獲取要替換的文字區域,然后在用正則匹配到關鍵詞,并進行替換。

react中實現起來似乎更簡單一些。

我這里的需求是通過搜索框搜索出新聞列表,在已經獲取到新聞列表數據中使用filter函數,獲取到每一個新聞的title,并定義關鍵詞正則,返回替換后的樣式,react不能直接解析帶html標簽的字符串,方法如下:

render() {
  const newsList=this.state.newsList;
  if(this.props.type==='tag'||this.props.type==='search'){
   let keyword=this.props.id; //這里是父組件傳過來的關鍵詞
   newsList.filter((value,index) => { //使用filter函數過濾新聞列表數據
    var re =new RegExp(keyword,"g"); //定義正則
    value.title=value.title.replace(re, `<span class="keyword">${keyword}</span>`); //進行替換,并定義高亮的樣式
   })
  }
  
  return (
   <div>
    {newsList.map((value,index) => {
     return (<NewsListItem news={value} key={index} />) //把新聞傳遞給新聞列表的單個新聞組件
     })
    }
    <div className="btn-more transition" onClick={this.fetchMoreList}>{this.state.loadingText}</div>
   </div>
  );
 }

NewsListItem組件渲染title:

<div className="item-title" dangerouslySetInnerHTML = {{ __html:news.title }}></div>

react中實現搜索結果中關鍵詞高亮顯示

react中實現搜索結果中關鍵詞高亮顯示

總結

以上所述是小編給大家介紹的react中實現搜索結果中關鍵詞高亮顯示,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

徐水县| 布尔津县| 香格里拉县| 嵩明县| 怀宁县| 天门市| 南木林县| 秦安县| 米泉市| 武定县| 冀州市| 宿州市| 黔东| 特克斯县| 周至县| 万安县| 鹤岗市| 府谷县| 新安县| 镇宁| 宁津县| 改则县| 杨浦区| 资源县| 大厂| 鄂托克前旗| 永善县| 紫阳县| 平罗县| 万全县| 彰化市| 武清区| 镶黄旗| 桂东县| 福建省| 桑日县| 彭州市| 长沙县| 渑池县| 昆山市| 铜梁县|