我有多种方法可以对不同的表进行排序:
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;
}
并直接在视图组件上调用此服务:
<table matSort (matSortChange)="matSort.sortTable($event, data.fruits)">
但是排序无效:-/,我做错了什么?
谢谢
答案 0 :(得分:0)
好吧,我在视图中丢失了变量的重新分配:
<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;
}
谢谢:-)