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 相关文章推荐
表单提交验证类
Jul 14 Javascript
JS面向对象、prototype、call()、apply()
May 14 Javascript
javascript中数组的定义及使用实例
Jan 21 Javascript
ajax如何实现页面局部跳转与结果返回
Aug 24 Javascript
javascript中checkbox使用方法实例演示
Nov 19 Javascript
AngularJS Module方法详解
Dec 08 Javascript
详解AngularJS Filter(过滤器)用法
Dec 28 Javascript
javascript创建cookie、读取cookie
Mar 31 Javascript
微信js-sdk地理位置接口用法示例
Oct 12 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
Aug 27 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
Dec 24 Javascript
一文了解JavaScript用Element Traversal新属性遍历子元素
Nov 27 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
PHP产生不重复随机数的5个方法总结
2014/11/12 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
2017/02/04 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
Chosen 基于jquery的选择框插件使用方法
2012/05/30 Javascript
JS复制到剪贴板示例代码
2013/10/30 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
javascript的push使用指南
2014/12/05 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
解决jQuery使用JSONP时产生的错误
2015/12/02 Javascript
jQuery Mobile中的button按钮组件基础使用教程
2016/05/23 Javascript
JS模拟bootstrap下拉菜单效果实例
2016/06/17 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
2018/03/05 Javascript
详解如何用babel转换es6的class语法
2018/04/03 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
Typescript的三种运行方式(小结)
2019/09/18 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
python进阶教程之文本文件的读取和写入
2014/08/29 Python
python中pycurl库的用法实例
2014/09/30 Python
Python构建XML树结构的方法示例
2017/06/30 Python
简单易懂的python环境安装教程
2017/07/13 Python
python实现自动登录后台管理系统
2018/10/18 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
2018/12/11 Python
GANT英国官方网上商店:甘特衬衫
2018/02/06 全球购物
高中班长自我鉴定
2013/12/20 职场文书
优秀村官事迹材料
2014/01/10 职场文书
英语课外活动总结
2014/08/27 职场文书
入党介绍人意见2015
2015/06/01 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫