这篇文章主要讲解了“react如何实现搜索关键字高亮”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react如何实现搜索关键字高亮”吧!
react实现搜索关键字高亮的方法:1、利用正则从列表匹配到关键词,再使用标签包含关键词;2、给标签添加color属性,然后使用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如何实现搜索关键字高亮”的内容了,经过本文的学习后,相信大家对react如何实现搜索关键字高亮这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。