angular - 更新数据源后数据表不显示数据
问题描述
我有问题,更新数据数组(FileDto)后,数据表中没有可见的变化
我已经 testet 将数据放在 ngFor 中,它工作正常。
在 html 中:
<ngx-datatable
class="material striped"
[rows]="fileDtos"
[columnMode]="'force'"
[rowHeight]="'auto'"
[messages]="gridMessages"
>
<ngx-datatable-column name="name" >
<ng-template let-column="column" ngx-datatable-header-template>
<strong>{{ 'FILES.NAME' | translate}}</strong>
</ng-template>
</ngx-datatable-column>
</ngx-datatable>
打字稿文件:
loadFiles(): void {
this._fileService.getFiles(this.auftragId, false).subscribe(files => {
this.fileDtos = files;
this._fileService.getExcelFiles(this.auftragId).subscribe(filesexcel => {
if ( filesexcel) {
filesexcel.forEach(item => {
this.fileDtos.push(item);
});
}
});
});
}
数据对象:
export class FileDto {
name: string;
iconUrl: string;
extension: string;
created: Date | string;
modified: Date | string;
}
我没有错误消息,也没有在数据表中显示任何数据。任何想法为什么?
样本数据:
{name: "Filename1.xlsm", iconUrl: null, extension: "", created: "2019-03-12T13:37:25.973", modified: "0001-01-01T00:00:00"}
{name: "Filename2.xlsm", iconUrl: null, extension: "", created: "2019-03-12T12:13:53.847", modified: "0001-01-01T00:00:00"}
{name: "Filename3.xlsm", iconUrl: null, extension: "", created: "2019-03-12T13:37:25.973", modified: "0001-01-01T00:00:00"}
解决方案
感谢@sgrillon 提示订阅订阅是一种不好的做法。现在它的工作正常。
以下是我使用 forkJoin 解决的方法:
forkJoin(
this._fileService.getFiles(this.auftragId, false), this._fileService.getExcelFiles(this.auftragId)
).subscribe((files) => {
this.fileDtos = files[0].concat(files[1]);
});
推荐阅读
- postgresql - 如何在 Postgresql 中创建用户定义的函数?
- python - 如何在 django 视图中访问 csrf_token
- laravel - laravel 的默认 cookies/sessions 中存储了什么?
- python-3.x - 第二个循环,游戏不工作和 Sublime Text 问题
- javascript - callback?: (any) => void 这段代码是什么意思?
- json - 在反应中打印获取的数据数组的所有元素
- javascript - 在 React 中映射数组使用先前渲染的值
- authorization - Cadence 中的 AuthN
- c - 在c中将数组转换为8位代码
- flutter - 例外:由于上述问题,无法构建插件 firebase_admob