我有一个多种方法来排序不同的表:
sortFruits(sort: Sort) {
const direction = sort.direction === 'asc' ? 'asc' : 'desc';
this.data.fruits= orderBy(this.data.fruits, [sort.active], [direction]);
}
sortFamily(sort: Sort) {
const direction = sort.direction === 'asc' ? 'asc' : 'desc';
this.data.family= orderBy(this.data.family, [sort.active], [direction]);
}
我试图在服务上做一个通用的方法:
sortTable(sort: Sort, data: any) {
const direction = sort.direction === 'asc' ? 'asc' : 'desc';
return orderBy(data, [sort.active], [direction]);
// return data;
}
并直接在view组件上调用此服务:
<table matSort (matSortChange)="matSort.sortTable($event, data.fruits)">
但这种方式不起作用: - /,我做错了什么?
谢谢
确定它有效,我错过了视图中变量的重新分配:
<table matSort (matSortChange)="data.fruits = matSort.sortTable($event, data.fruits)">
并返回服务上的数据值
sortTable(sort: Sort, data: any) {
const direction = sort.direction === 'asc' ? 'asc' : 'desc';
data = orderBy(data, [sort.active], [direction]);
return data;
}
谢谢 :-)