Vue实现搜索关键词高亮显示

这篇具有很好参考价值的文章主要介绍了Vue实现搜索关键词高亮显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近写移动端项目的时候,遇到搜索关键词高亮的需求,写篇文章纪录一下

先看效果:

vue实现搜索关键字高亮显示,vue.js,javascript,前端

 

以上为实现效果展示;

整体思路 : 对后台返回的数据进行操作,(我这里是模拟数据),使用正则去匹配搜索关键词后,使用replace进行字符串的替换; 渲染数据部分使用v-html进行动态展示即可实现.

以下是代码:

html代码:

<template>
  <div class="box">
    <!-- 搜索框 -->
    <div class="mySearch">
      <van-search
        v-model="PopUpSarCh"
        show-action
        placeholder="请输入搜索关键词"
        @search="onSearch"
        class="onSearch"
      >
        <template #action>
          <div @click="onSearch">搜索</div>
        </template>
      </van-search>
    </div>
   
    <!-- 搜索结果 -->
    <div class="SearchResults">
      <div class="SearchContent" v-for="(item, index) in list" :key="index">
        <h5 v-html="item.title"></h5>
        <div class="myContent" v-html="item.name"></div>
        <div class="dotted"></div>
      </div>
    </div>
   
  </div>
</template>

js代码:文章来源地址https://www.toymoban.com/news/detail-607167.html

export default {
  data() {
    return {
      list: [],
      PopUpSarCh: "",
 
    };
  },
  methods: {
    // 搜索框方法
    onSearch() {
      //每次搜索前清空
      this.list = [];
      var arr = [
        {
          title: "直装直提办理业务",
          name: "进口水果'船边直提'大铲湾码头水果通过效率第一,进口水果船边直提",
        },
        {
          title: "直装直提办理业务",
          name: "进口水果'船边直提'大铲湾码头水果通过效率第一,进口水果船边直提",
        },
        {
          title: "直装直提办理业务",
          name: "进口水果'船边直提'大铲湾码头水果通过效率第一,进口水果船边直提",
        },
        {
          title: "直装直提办理业务",
          name: "进口水果'船边直提'大铲湾码头水果通过效率第一,进口水果船边直提",
        },
      ];
      this.list = arr;
      this.changeColor(this.list);//调用搜索词方法
    },
    // 搜索关键词高亮方法
    changeColor(result) {
      //result为接口返回的数据
      result.map((item, index) => {
        if (this.PopUpSarCh) {
          /**
           * 使用正则表达式进行全文匹配关键词
           * ig : 表示 全文查找 ,忽略大小写
           *  i : 忽略大小写
           *  g : 全文查找
           *
           * 使用字符串的replace方法进行替换
           * stringObject.replace('被替换的值',替换的值)
              title和name是你要高亮的字段
           */
          let replaceReg = new RegExp(this.PopUpSarCh, "ig");
          let replaceString = `<span style="color: #ed4014">${this.PopUpSarCh}</span>`;
          result[index].title = item.title.replace(replaceReg, replaceString);
          result[index].name = item.name.replace(replaceReg, replaceString);
        }
      });
      this.records = result;
    },
  },
};

到了这里,关于Vue实现搜索关键词高亮显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Vue3】2-12 : 【案例】搜索关键词加筛选条件的综合

    本书目录:点击进入 一、【案例】搜索加筛选条件的综合 1.1、逻辑 1.2、效果 1.3、json数据 - 02-data.json 1.4、代码 计算属性 - 绑定list,并过滤 input  双向绑定 - 当input改变时,计算属性过滤name button组 双向绑定  - 当input改变时,计算属性过滤性别

    2024年01月20日
    浏览(36)
  • 前端sql语句输入框以及格式化sql语句和sql关键词高亮---sql-formatter、vue-codemirror

    1.下载 2.引入 3.使用 4.遇到的问题 “select * from 表格名称” 这个字符包含了中文,如果进行格式化,就会变成 “select * from 表 格 名 称” 中文之前添加了空格 解决方法:使用正则去掉空格 使用正侧格式化去掉空格我尝试的几种方法 方法一 方法二 方法三(最终版本) 5.优化

    2024年02月02日
    浏览(37)
  • 原生小程序如何使用pdf.js实现查看pdf,以及关键词检索高亮

    前往 pdf.js 的 官网 下载库文件,下哪个版本都可以,后者适用于旧版浏览器,所以我下载的是后者 下载完成后,因为微信小程序打包的限制,我将库文件放到项目的后台系统了,在h5端处理会比在小程序端处理方便,最后就用web-view标签嵌入到小程序即可; 2.1、目录结构 2

    2024年02月01日
    浏览(42)
  • Vue中实现自动匹配搜索框内容 关键字高亮文字显示

    实现效果如下:  1.首先需要给输入框进行双向绑定  2.拿到搜索的结果去渲染页面  将返回的结果和搜索的进行比对 如果相同的 就变红 上代码 html部分 js部分

    2024年02月12日
    浏览(37)
  • vue实现搜索高亮关键字

    模仿浏览器中ctrl+f实现搜索 高亮显示 思路: 通过ref获取dom元素 删除当前高亮色; 设置本次搜索的高亮; 进行内容替换; 为首个进行高亮,设置为当前; 关键代码: 定义一个正则 key就代表要高亮的字符串,i 代表匹配大小写 g代表全局匹

    2024年02月10日
    浏览(48)
  • 双方案-基于Mysql 与 ElasticSearch实现关键词提示搜索与全文检索

    就喜欢搞这种不需要怎么费劲的东西,只需要把思路阐述清楚,随笔性质的博文,顺手啊,几乎不用改定就可以当博文发布出去。 那么,这里的话我们要做的就是实现这个的一个搜索功能,这个前端我就不说了,实现起来起来其实还是容易的,就是费劲。我们主要关注

    2024年01月18日
    浏览(52)
  • 长尾关键词挖掘软件-免费的百度搜索关键词挖掘

    嗨,大家好!今天,我想和大家聊一聊长尾挖掘工具。作为一个在网络世界里摸爬滚打多年的人,我对这个话题有着一些个人的感悟和见解,希望能与大家分享。 首先,让我坦白一点,长尾挖掘工具对于我来说真是救命稻草。在我刚开始做网站优化和内容创作的

    2024年02月09日
    浏览(75)
  • Elasticsearch的关键词搜索

    返回给前端的实体类 es对应的实体类 前端传递的搜索参数实体类 controller层 service层接口 service实现类 Springboot启动类

    2023年04月08日
    浏览(39)
  • VIM统计搜索关键词命令

    :%s/.//gn        统计字符数 :%s/i+//gn    统计单词数 :%s/^//n           统计行数 :%s/keyword//g      统计任何地方出现的 \\\"keyword\\\"   :%s/keyword//gn    统计任何地方出现的 \\\"keyword\\\" :%s/keyword/ :这部分是 Vim 的替换命令的开头。:%s 表示在整个文件范围内进行替换操作。keyword 是要查

    2024年02月09日
    浏览(46)
  • X书关键词协议搜索

    搜索接口中的其他java层加密,详细见: https://codeooo.blog.csdn.net/article/details/122986633

    2024年02月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包