【发布时间】:2019-07-15 07:26:48
【问题描述】:
我正在尝试在模型窗口中显示数据表。 我第一次可以按预期查看屏幕。关闭模型窗口后,现在我试图在模型窗口中查看结果,但是从第二次开始,Datatable 没有显示搜索框,分页。
谁能帮我解决这个问题。
预期:
秒:
错误:
my.component.ts
@ViewChild(DataTableDirective)
dtElement: DataTableDirective;
dtOptions: DataTables.Settings = {};
// We use this trigger because fetching the list of persons can be quite long,
// thus we ensure the data is fetched before rendering
dtTrigger: Subject<any> = new Subject();
ngOnInit() {
this.service.getQueryResult(this.saveIteratorParams).subscribe( data => {
if (data.success !== false) {
this.queryViewResultL = data.payload;
this.tableDataList = data.payload.molResults;
if (this.tableDataList !== null || this.tableDataList !== undefined) {
this.theadData = Object.keys(this.tableDataList[0]);
// Calling the DT trigger to manually render the table
this.dtOptions = {
pagingType: 'full_numbers',
pageLength: 10
};
this.dtTrigger.next();
}
}
ngAfterViewInit(): void {
this.dtTrigger.next();
// console.log('ngAfterViewInit');
}
rerender(): void {
this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {
// Destroy the table first
dtInstance.destroy();
// Call the dtTrigger to rerender again
this.dtTrigger.next();
// if (this.dtTrigger.observers) { this.dtTrigger.next(); }
});
}
ngOnDestroy(): void {
// Do not forget to unsubscribe the event
this.dtTrigger.unsubscribe();
console.log('this.dtTrigger.unsubscribe()', this.dtTrigger);
}
【问题讨论】:
标签: angular typescript datatable