angular - 当数据源中的整列为空时,如何隐藏 Angular Material 表中的列?
问题描述
我有一个 Angular Material 表,其中包含以下列: tablecolumns: string[] = ["mbrID", "E", "B", "HasAccess", "Att", "select"];
我收到的信息有两种。类型 A 已填满所有列。对于类型 B,列 E 和 B 将始终为空。从我从填充数据源的服务获得的响应中,我无法确定信息是 A 类型还是 B 类型。如何检查数据源中这些特定列的值是否为 null 并隐藏他们在展示?
这是我用于填充数据源的 Angular 代码。
ngOnInit() {
this.Service.ObservableName.subscribe(
(response: Recipient[]) => {
this.RcptData = response;
console.log(this.RcptData);
this.tabledata = new MatTableDataSource(response);
}
)
}
Recipient 界面如下所示:
export interface Recipient {
mbrId: string,
E: string,
B: string,
hasAccess: string,
att: string[]
}
这就是我在表格的 HTML 代码中的内容。我只添加了两列,但其余列类似。:
<table mat-table matSort [dataSource]='RcptData' class="mat-elevation-z8">
<ng-container matColumnDef="mbrID">
<th mat-header-cell *matHeaderCellDef>Member ID</th>
<td mat-cell *matCellDef="let member"> {{member.mbrId}}</td>
</ng-container>
<ng-container matColumnDef="E">
<th mat-header-cell *matHeaderCellDef>E</th>
<td mat-cell *matCellDef="let member"> {{member.E}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="tablecolumns"></tr>
<tr mat-row *matRowDef="let row;columns: tablecolumns;"></tr>
</table>
现在,无论数据类型如何,列 E 和 B 都将可见,但我想隐藏它。由于我没有从后端服务获得什么类型的数据,所以我不知道该怎么做。对于类型 B,列 E 和 B 的值将始终为空(整列)。我可以用它来隐藏列吗?
解决方案
推荐阅读
- php - 如何使用 Eloquent 从文件表中检索某些文件类型?
- python - 有没有办法使用 kafka-python 库创建日志压缩主题?
- python - 为什么没有定义“参数”
- typescript - 如何防止包括泛型在内的 Typescript 中的不可为空类型?
- android - 我的 Android TV 模块是否应该与我的 Android Mobile 模块具有相同的包名?
- svn - svn 分支是主干文件的完整副本还是只是一个链接?
- javascript - 使用 php move_uploaded_file 和变量 post 上传图片
- swift - 核心数据如何在多线程中使用 NSMangedObjectContext
- python - ValueError:小端编译器不支持大端缓冲区
- java - 00-09 是 Java 中的有效数字吗?