【发布时间】:2020-06-11 00:58:30
【问题描述】:
这是我的 Angular 6 代码 搜索输入框 我已经为 sortBy 方法做了,但是我做错了什么,请检查我的代码
<input type="text" [(ngModel)]="searchText" placeholder="search by text" style="color: black;">
我想从此内容中搜索数据 此数据来自与 spring Api 的 sql 连接
<div *ngFor="let vendor of availableVendors | vendorFilter:'searchText' ; let i = index ">
<div class="row">
<div class="col-md-1">
<div class="tablevalue" style="text-align:center">
{{ i + 1}}
</div>
</div>
<div class="col-md-2">
<div class="tablevalue" style="text-align:center">
{{vendor.name | uppercase}}
</div>
</div>
<div class="col-md-1">
<div class="tablevalue" style="text-align:center;">
{{vendor.isPaidVerifiedUser == true?'Yes':'No' }}
</div>
</div>
<div class="col-md-1">
<div class="tablevalue">
{{vendor.city}}
</div>
</div>
这是我的 .pipe 代码 我们还为此创建了一个管道
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'vendorFilter'
})
export class VendorFilterPipe implements PipeTransform {
transform(value: any,field: any, searchText: any): any {
if(!value)return null;
if(!searchText)return value;
searchText = searchText.toLowerCase();
return value.filter(function(item){
return item.filter(item).toLowerCase().includes(searchText);
});
}
}
.ts 代码
viewAvailableVendors() {
let token = this.session.get('token');
this.dataservice.get("requests/viewAvailableVendors/" + this.requestid, token).subscribe(data => {
this.availableVendors = data;
if(this.availableVendors !=false){
this.requestAvailableVendorsDisplay = "block";
}
else{
this.requestAvailableVendorsDisplay = "block";
this.openModal("Keep in Touch!", "We'll come back soon we will working on it! please be patience");
}
});
}
【问题讨论】:
标签: angular typescript filter angular6