本文介绍: 在做文字处理项目时经常会遇到搜索文字高亮需求,常见的实现方式插入标签和贴标签两种。这两种方式用于不同的场景,各有优劣。为了方便操作,直接起一个Vue项目,在里面演示。
watch(
  () => route,
  (newValue) => {
    searchDetail.value.searchValue = route.query.text;
    searchList.value.forEach((item: object, index: number) => {
      montagePFun(item, index);
    });
  },
  {
    deep: true
  }
);
const montagePFun = (info, index) => {
  const regExp = new RegExp(searchDetail.value.searchValue, 'g');
  let title = searchList.value[index].title.replaceAll(regExp, `<span style="color: #FE8549;">${searchDetail.value.searchValue}</span>`);
  let user = searchList.value[index].userName.replaceAll(regExp, `<span style="color: #FE8549;">${searchDetail.value.searchValue}</span>`);
  let content = searchList.value[index].content.replaceAll(regExp, `<span style="color: #FE8549;">${searchDetail.value.searchValue}</span>`);
  document.querySelector(`.title${index}`).innerHTML = title;
  document.querySelector(`.user${index}`).innerHTML = user;
  document.querySelector(`.content${index}`).innerHTML = content;
};

原文地址:https://blog.csdn.net/m0_71349739/article/details/134652826

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_10235.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注