站长资讯网
最全最丰富的资讯网站

react怎么实现搜索关键字高亮

react实现搜索关键字高亮的方法:1、利用正则从列表匹配到关键词,再使用标签包含关键词;2、给标签添加color属性,然后使用react富文本渲染方式进行渲染实现快速搜索并且关键字高亮即可。

react怎么实现搜索关键字高亮

本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。

react怎么实现搜索关键字高亮?

React实现快速搜索并且关键字高亮

需求:

点击搜索按钮,弹出模糊匹配列表。

下拉列表选择选项,点击后跳转相应页面关键字所在地。

思路:

利用正则从列表匹配到关键词,再使用标签包含关键词,

给标签添加color属性,使用react富文本渲染方式进行渲染

js内容:

 /**      * 关键字变色      * @params content 内容      * @params keyword 关键词      * @params tagName 标签名     */     warpTag(content, keyword, tagName) {       if (content === "No results") {         return content       }       const a = content.toLowerCase()       const b = keyword.toLowerCase()       const indexof = a.indexOf(b)       const c = indexof > -1 ? content.substr(indexof, keyword.length) : ''       const val = `<${tagName} style="color:#FF6600;">${c}</${tagName}>`       const regS = new RegExp(keyword, 'gi')       console.log('regS',regS,keyword,val)       console.log('regS222222',content,content.replace(regS, val))       return content.replace(regS, val)     }
登录后复制

jsx内容:

<span dangerouslySetInnerHTML={{__html: this.warpTag(item.n, keyword, "span")}}></span>
登录后复制

推荐学习:《react视频教程》

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号