angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例


Posted in Javascript onAugust 17, 2018

本篇angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例,分享给大家,具体如下:

添加一个pipe:

import { Pipe, Injectable, PipeTransform } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';

@Pipe({
 name: 'keyword'
})
@Injectable()
export class KeywordPipe implements PipeTransform {
 constructor(private sanitizer: DomSanitizer) {
 }

 transform(val: string, keyword: string): any {
  const Reg = new RegExp(keyword, 'i');
  if (val) {
   const res = val.replace(Reg, `<span style="color: #81E1B7;">${keyword}</span>`);
   console.log(res);
   return this.sanitizer.bypassSecurityTrustHtml(res);
  }
 }
}

注: DomSanitizer,这个的目的是是数据在页面上的绑定能够safe的解析

html中使用方法:

<ion-label [innerHTML]="item.name | keyword:searchText"></ion-label>

注: 在标签里面用新的标签包起来,不然会有样式问题; 要用innerHTML来绑定数据。

演示效果

angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例

开源项目地址:https://github.com/alex-0407/ionic3-awesome

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
在Javascript中定义对象类别
Dec 22 Javascript
JS格式化数字保留两位小数点示例代码
Oct 15 Javascript
JavaScript简单实现网页回到顶部功能
Nov 12 Javascript
Javascript中的迭代、归并方法详解
Jun 14 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
Feb 11 Javascript
javascript 中的try catch应用总结
Apr 01 Javascript
详解AngularJS脏检查机制及$timeout的妙用
Jun 19 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
Mar 14 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
Jan 30 Javascript
vuex(vue状态管理)的特殊应用案例分享
Mar 03 Javascript
vue项目配置使用flow类型检查的步骤
Mar 18 Javascript
Element Dropdown下拉菜单的使用方法
Jul 26 Javascript
layer.open关闭父窗口 以及调用父页面的方法
Aug 17 #Javascript
vue+element的表格实现批量删除功能示例代码
Aug 17 #Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
Aug 17 #Javascript
浅析vue给不同环境配置不同打包命令
Aug 17 #Javascript
React中使用async validator进行表单验证的实例代码
Aug 17 #Javascript
JavaScript实现构造json数组的方法分析
Aug 17 #Javascript
layer弹出层父子页面事件相互调用方法
Aug 17 #Javascript
You might like
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
PHP中图片等比缩放的实例
2013/03/24 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
使用php实现从身份证中提取生日
2016/05/09 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
JS操作Cookie写入和读取实例代码
2013/10/20 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
Jquery实现瀑布流布局(备有详细注释)
2015/07/31 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
2015/11/30 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
Python获取apk文件URL地址实例
2013/11/01 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
python 执行文件时额外参数获取的实例
2018/12/18 Python
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
逻辑链路控制协议
2016/10/01 面试题
建筑工程技术应届生自荐信
2013/09/27 职场文书
优秀经理事迹材料
2014/02/01 职场文书
保险专业求职信
2014/07/07 职场文书
高职教师先进事迹材料
2014/08/24 职场文书
领导干部作风建设总结
2014/10/23 职场文书
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang