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

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 13:22:20
字體:
來源:轉載
供稿:網友

網上看到很多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中實現搜索結果中關鍵詞高亮顯示,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太湖县| 区。| 中江县| 独山县| 潜山县| 江油市| 海南省| 遂川县| 固镇县| 北票市| 叶城县| 天等县| 山阳县| 西华县| 富平县| 喜德县| 湖州市| 台山市| 霍城县| 昌图县| 新沂市| 台江县| 绿春县| 泸水县| 卫辉市| 田林县| 大英县| 钟祥市| 丽水市| 安丘市| 阳泉市| 姚安县| 河曲县| 望都县| 嵩明县| 商南县| 上林县| 六枝特区| 巴东县| 甘洛县| 永顺县|