我在使用角度版本5这里是我的HTML代码
<h2 class="h5 mb-1">Results ({{companies.length}})</h2>
<table class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th>Date Created <i class="fa fa-sort" aria-hidden="true" (click)="sortByDate()"></i></th>
<th>Name <i class="fa fa-sort" aria-hidden="true" (click)="sortByName()"></i></th>
<th></th>
</tr>
<tr>
<td>
<input type="text" [(ngModel)]="dateCreated" name="dateCreared" class="form-control">
</td>
<td>
<input type="text" [(ngModel)]="nameCompany" name="name" #nameCompanyInput class="form-control">
</td>
<td></td>
</tr>
</thead>
<tbody>
<tr *ngFor="let company of companies | orderByDate:'desc' | filterCompany:nameCompany:dateCreated" (click)="goEditPage(company.ObjectID) ">
<td>{{ company.ObjectCreated | date:chartDate }}</td>
<td>{{ company.Name }}</td>
<td class="text-center ">
<a class="btn btn-primary ">
<i class="fa fa-angle-double-right "></i>
</a>
</td>
</tr>
</tbody>
</table>
<p *ngIf="companies.length==0 ">No data !</p>
当我远程“filterCompany:nameCompany:dateCreated”时,我可以使用函数单击sortByDate和sortByName来命令该表,但如果我添加“filterCompany:nameCompany:dateCreated”,我仍然可以单击sortByDate()和sortByName但是表格没有更新。 这是我的管道代码
transform(value: Array<any>, args?: any): any {
debugger
if (value == null) {
return null;
}
let valueSort = [];
if (args && args == 'desc') {
valueSort = this.sortByDesc(value);
}else if (args && args == 'asc') {
valueSort = this.sortByAsc(value);
}else {
valueSort = this.sortByDesc(value);
}
return valueSort;
}
sortByDesc(value) {
value.sort((a: any, b: any) => {
let date1 = new Date(a.ObjectCreated);
let date2 = new Date(b.ObjectCreated);
if (date1 < date2) {
return 1;
}else if (date1 > date2) {
return -1;
}else {
return 0;
}
});
return value;
}
sortByAsc(value) {
value.sort((a: any, b: any) => {
let date1 = new Date(a.ObjectCreated);
let date2 = new Date(b.ObjectCreated);
if (date1 > date2) {
return 1;
}else if (date1 < date2) {
return -1;
}else {
return 0;
}
});
return value;
}
我正在尝试调试所有功能仍然有效并且没有例外,请建议我解决方案