【发布时间】:2021-09-06 11:41:07
【问题描述】:
我有一个可观察的 TableData 类型,它返回一组表行和列。 用户可以从 select 中选择要排序的一组列(行所指的)(默认情况下按升序排列)。 例如,如果用户输入“员工”和“项目”,我应该先按员工对行进行排序,然后再按每个员工的升序对项目进行排序。
类类型:
export interface TableColumn {
value: string;
label: string;
hidden: boolean;
format: (value: any) => string;
}
export interface TableRow {
[key: string]: any;
}
export interface TableData {
columns: TableColumn[];
rows: TableRow[];
}
export class Activity {
id?: number;
[HOURS_KEY]: number;
[DATE_KEY]: string;
[EMPLOYEE_KEY]: ActivityEmployee;
[TYPE_KEY]: ActivityType;
[PROJECT_KEY]?: ActivityProject;
}
export class ActivityEmployee {
id: number;
lastName: string;
firstName: string;
}
假设现在我只想按 Employee 和 Project 排序(所以是一个静态示例),我怎样才能以链式方式排序我得到的 oberables?
我以这种方式调用可观察结果:
tableDataColumns$ = this.activityCollection.groupedEntities$?.pipe(
map((e) => e.columns)
);
tableDataRows$ = this.activityCollection.groupedEntities$?.pipe(
map((e) => e.rows)
);
【问题讨论】:
标签: angular typescript rxjs