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 相关文章推荐
JS正则表达式大全(整理详细且实用)
Nov 14 Javascript
ExtJS4中使用mixins实现多继承示例
Dec 03 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
Mar 12 Javascript
JavaScript对象学习小结
Sep 02 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
May 17 Javascript
Vue学习笔记进阶篇之单元素过度
Jul 19 Javascript
解决修复npm安装全局模块权限的问题
May 17 Javascript
详解使用 Node.js 开发简单的脚手架工具
Jun 08 Javascript
微信小程序自定义单项选择器样式
Jul 25 Javascript
微信小程序云函数使用mysql数据库过程详解
Aug 07 Javascript
vue 实现把路由单独分离出来
Aug 13 Javascript
微信小程序 接入腾讯地图的两种写法
Jan 12 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
php语言流程控制中的主动与被动
2012/11/05 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
JS中常用的输出方式(五种)
2016/06/12 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
将RGB值转换为灰度值的简单算法
2019/10/09 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
Python运维开发之psutil库的使用详解
2018/10/18 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
pytorch 数据处理:定义自己的数据集合实例
2019/12/31 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
2020/03/06 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
Python如何急速下载第三方库详解
2020/11/02 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
自我评价怎么写正确呢?
2013/12/02 职场文书
生物制药自我鉴定
2014/01/25 职场文书
综合实践活动总结
2014/05/05 职场文书
企业宣传工作方案
2014/06/02 职场文书
2014最新党员违纪检讨书
2014/10/12 职场文书
关于安全的广播稿
2014/10/23 职场文书
2014普法依法治理工作总结
2014/12/18 职场文书