中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

磐石市| 怀来县| 蓬溪县| 沁水县| 侯马市| 仁怀市| 泰和县| 博客| 衡南县| 大名县| 贺州市| 新疆| 福安市| 青龙| 巩义市| 湄潭县| 滁州市| 无棣县| 许昌市| 五指山市| 抚顺市| 石首市| 仁化县| 万盛区| 黎平县| 驻马店市| 武宣县| 商城县| 信阳市| 奉贤区| 通河县| 锡林浩特市| 利川市| 乌审旗| 澎湖县| 新丰县| 三门县| 福贡县| 阆中市| 英吉沙县| 望城县|