UNPKG

v-highlight-component

Version:

> 实现了一个句子根据查询字词进行高亮显示的功能,查询的字词的输入格式为数组(为了 > 兼容分词查询功能),根据字词数组的内容进行多个词的高亮展示。使用模板差值 {{ }} 和 > v-text,而不是v-html进行高亮字词的展示,减少XSS攻击的风险

82 lines (72 loc) 2.59 kB
# v-highlight-component ### 功能介绍 > 实现了一个句子根据查询字词进行高亮显示的功能,查询的字词的输入格式为数组(为了 > 兼容分词查询功能),根据字词数组的内容进行多个词的高亮展示。使用模板差值 {{ }} 和 > v-text,而不是v-html进行高亮字词的展示,减少XSS攻击的风险 ### 下载插件 ``` npm install v-highlight-component ``` ### 在线演示 > [示例](https://mooncom.github.io/v-highlight-component/dist/) ### init (当组件注册时配置) > ### class > * 类型:String 字符串 > * 默认值: ' ' 空字符串 > * 作用:配置组件的默认类名,多个类名使用空格分隔 > ### style > * 类型:Object 对象 > * 默认值: { } 空对象 > * 作用:配置组件的默认样式 > ### selectedClass > * 类型:String 字符串 > * 默认值: 'highlight' > * 作用:匹配字符的类名,多个类名使用空格分隔 ### props > #### search > * 类型:Array 数组 > * 默认值: [ ] 空数组 > * 作用:要进行查询的字词数组 > * 备注:当不进行字词查询时可以不传或者设为空数组 > #### message > * 类型:String 字符串 > * 默认值: ' ' 空字符串 > * 作用:要进行高亮查询匹配的内容 > #### tag > * 类型:String 字符串 > * 默认值: 'div' div标签 > * 作用:查询内容的包裹标签,默认使用div标签包裹,可根据实际需求使用span或者p标签进行包裹 ### 使用 下载成功后在main.js中插入如下代码 ``` // 引入插件 import highlight from 'v-highlight-component'; // 组件注册 Vue.use(highlight); // 配置组件的默认类名和样式 // Vue.use(highlight,{class:'MOONCOM zhangsan',style:{color:'#ff0'}}); ``` 在需要查询字词高亮展示的页面组件中使用 ``` <template> ... <v-highlight-component :message='message' :search='search'/> ... </template> <script> export default{ data(){ return{ message:'这是一个句子,要进行高亮匹配', search: ['句子','高亮'], }; }, }; </script> ``` ### 兼容性 > 这是基于vue2开发的功能组件,因为没有使用vue2高版本的特性,所以理论上兼容所有的vue2版本 ### github地址 > [v-highlight-component](https://github.com/MOONCOM/v-highlight-component) ### 版本支持 > 已完成基于vue3的高亮组件开发,点击 [vue3-highlight](https://github.com/MOONCOM/vue3-highlight) 进行跳转