• 技术文章 >web前端 >前端问答

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

    藏色散人藏色散人2022-12-30 13:50:31原创105

    react实现搜索关键字高亮的方法:1、利用正则从列表匹配到关键词,再使用标签包含关键词;2、给标签添加color属性,然后使用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视频教程

    以上就是react怎么实现搜索关键字高亮的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:关键字 React
    上一篇:react怎么请求部分刷新 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • react怎么实现返回顶部• react怎么实现滑动• react ve是什么意思• react怎么请求部分刷新
    1/1

    PHP中文网