vue中搜索关键词,使文本标红

UserHead.vue中搜索框:

<!-- 搜索 -->
      <el-col :span="6" :offset="8" class="search">
        <el-input placeholder="请输入内容" v-model="inputvalue" class="input-with-select">
          <el-button slot="append" icon="el-icon-search" @click="search"></el-button>
        </el-input>
      </el-col>

与button绑定的事件:

search() {
      //translateText为从vuex穿过来的对话内容;
      // inputvalue为搜索框中的value
      console.log(this.translateText);
      console.log(this.inputvalue);
      // 获取所有对话内容的dom节点
      var audiot_style = document.getElementsByClassName("audiot_style");
      var translateText = this.translateText;
      var inputvalue = this.inputvalue;
      // 遍历所有对话文本内容
      for (let i = 0; i < translateText.length; i++) {
        // 当对话内容中有包含搜索框中的字符串时
        if (translateText[i].ucontent.indexOf(inputvalue) >= 0) {
          // 先将包含关键字的对话内容拆分为数组
          var values = translateText[i].ucontent.split(inputvalue);
          // 然后再以一段设置了css样式的标签为分隔符,将数组拼接为字符串
          // 再赋值给对应的dom,让其节点的innerhtml为这个字符串
          audiot_style[i].innerHTML = values.join(
            ‘<span style="color:red;">‘ + inputvalue + "</span>"
          );
        }
      }

Userfile.vue中的文本内容:

<div class="translate_content">
        <table v-for="key in mobj">
          <tr>
            <td class="td_user">
              {{key.uname}}--
              {{key.utime}}
              {{count}}
            </td>
          </tr>
          <tr>
            <td
              contenteditable
              v-model="key.ucontent"
              v-bind:keys="key.id"
              class="audiot_style"
            >{{key.ucontent}}</td>
          </tr>
        </table>
      </div>

data()和vuex的传值就先不赘述了,vue传值看这里

原文地址:https://www.cnblogs.com/1234wu/p/11055005.html

时间: 2024-11-11 15:54:03

vue中搜索关键词,使文本标红的相关文章

vue中引入Tinymce富文本编辑器

最近想在项目上引入一个富文本编辑器,之前引入过summernote,感觉并不太适合vue使用, 然后在网上查了查,vue中使用Tinymce比较适合, 首先,我们在vue项目的components文件夹中加入如下几个文件 首先看一下Tinymce/dynamicLoadScript.js的内容: let callbacks = [] function loadedTinymce() { // to fixed https://github.com/PanJiaChen/vue-element-a

Vue 中使用UEditor富文本编辑器-亲测可用-vue-ueditor-wrap

其中UEditor中也存在不少错误,再引用过程中. 但是UEditor相对还是比较好用的一个富文本编辑器. vue-ueditor-wrap说明 Vue + UEditor + v-model 双向绑定.之所以有这个 repo 的原因是: ?1.UEditor 依然是国内使用频率极高的所见即所得编辑器而 Vue 又有着广泛的使用,所以将两者结合使用,是很多 Vue 项目开发者的切实需求. ?2.目前没有发现满足这种需求,而使用又很方便的 repo.有的可能也只是简单的暴露一个 UEditor 的

在vue中使用tinymce富文本编辑器,解决tinymce在dialog对话框中层级太低的问题

1.安装 npm install tinymce -S 2.把node_modules\tinymce里面的文件 包括tinymce文件夹 全部复制到static文件夹下面,如下图 3.tinymce默认是英文界面,还需要下载一个中文语言包zh_CN.js https://www.tiny.cloud/get-tiny/language-packages/ 在tinymce文件夹下新建langs文件夹,将下载好的语言包放到langs文件夹下面如图  4.在main.js中引入tinymce  5

vue中使用kindeditor富文本编辑器2

第一步,下载依赖 yarn add kindeditor 第二步,建立kindeditor.vue组件 <template> <div class="kindeditor"> <textarea :id="id" name="content" v-model="outContent"></textarea> </div> </template> <s

在vue中后台返回的文本包含标签时候解析为html代码

1.数据格式: str=‘<p>11111</p>' 解析方式一: <p v-html="str">{{str}}</p> 解析方式二: <pre>{{str}}<pre> 如果需要换行,在相应样式表上加white-space: pre-line 原文地址:https://www.cnblogs.com/Ashley77/p/11332019.html

如何通过js使搜索关键词高亮

给你推荐通过jquery来实现高亮关键词.jquery.textSearch-1.0.js代码: (function($){ $.fn.textSearch =function(str,options){ var defaults ={ divFlag:true, divStr:" ", markClass:"", markColor:"red", nullReport:true, callback:function(){ returnfalse

JS正则对象 RegExp(有变量的时候使用),用来匹配搜索关键字(标红)

1,平常我们写js正则规则的时候,一般是这样写: var reg = /abc/; 然而,这样写的话,如果abc是一个变量这样就不行,我们需要下面这种写法: var abc = "汉字";var reg = new RegExp(abc, 'g');//g 全局匹配 2, 搜索关键字,让关键字标红: // class='text' :这个类中的文字 $('.text').each(function () {// 关键字标红 var reg = new RegExp($sea, 'g')

用grep在文件中搜索文本

搜索包含特定模式的文本行: grep "pattern" filename 也可以像下面从stdin中读取: echo -e "This is a word. \n next line ." |grep word 单个grep命令也可以对多个文件进行搜索: grep "match_text" file1 file2 file3 ... 用--color选项可以在输出行中着重标记匹配到的单词: grep word filename --color=

如何从统计中批量获取BD搜索关键词及对应的入口页面?

前面我们介绍了通过cnzz的访问明细获取到搜索关键词及对应的入口页面,但是从BD搜索进来的关键词无法完整显示,只能呈现一些bd图片搜索的关键词,这是因为百度宣布从去年5月开始逐渐取消了referer关键词显示,保护站点流量关键词数据信息,第三方将不再可以轻易地窃取到流量关键词,令站点数据更加私密化.站长需要获得网站流量关键词时,可以使用百度站长平台提供的搜索关键词工具或者百度统计相关功能进行查询.是不是有点垄断的意味呢?没办法,国内的市场份额摆在那.当然你也可以针对其他搜索引擎做专门的优化.从统