1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > angular2 pipe实现搜索结果中的搜索关键字高亮

angular2 pipe实现搜索结果中的搜索关键字高亮

时间:2021-04-03 23:44:56

相关推荐

angular2 pipe实现搜索结果中的搜索关键字高亮

效果图如下

1、声明一个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 {

let Reg=new RegExp(keyword,"i");

if(val){

let res = val.replace( Reg,`<span style="color: #ff2424;">${keyword}</span>`);

console.log(res)

return this.sanitizer.bypassSecurityTrustHtml(res);

}

}

}

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

2.在页面中使用

<ion-item class="list-data" *ngFor="let item of bonds?.result"

(click)="productUtils.showDetail(item.internal_code,'bond',item.is_pi_only)">

<span class="company-name" [innerHTML]="item.name | keyword:keyword"></span><span class="code" [innerHTML]="item.internal_code | keyword:keyword"></span>

</ion-item>

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。