Я пытаюсь заполнить ngx-datatable через ответ API (асинхронная функция).Мне удалось заставить функции работать, однако строки в таблице пустые (создано правильное количество строк).
Когда янаведите курсор на таблицу, как и ожидалось, она активирует функцию onActivate для регистрации события, а когда я смотрю на данные события, я вижу данные, которые должны отображаться в таблице.Это указывает на то, что данные точно передаются в таблицу, но проблема связана с проблемой рендеринга сортировки.
HTML:
<div class="row">
<div class="col-sm-12">
<ngx-datatable class="bootstrap selection-cell"
[rows]="rows"
[columnMode]="'force'"
[columns]="columns"
[headerHeight]="50"
[footerHeight]="50"
[rowHeight]="'auto'"
[limit]="20"
[selected]="selected"
[selectionType]="'multiClick'"
(activate)="onActivate($event)"
(select)='onSelect($event)'>
</ngx-datatable>
</div>
</div>
компонент:
res_out = {}
res_out_ = []
rows = []
loadingIndicator = true;
reorderable = true;
selected = [];
columns = [
{ name: 'ID'},
{ name: 'FileID'},
{ name: 'SectionNum'}
];
constructor() {
this.fetchData((dt) => {
this.rows = dt;
setTimeout(() => { this.loadingIndicator = false; }, 1500);
});
};
async fetchData(cb) {
return await API.get(this.apiName, this.path, this.myInit).then(response => {
response.forEach(element => {
this.columns.forEach((el, i) => this.res_out[el.name] = element[i]);
this.res_out_.push(this.res_out)
});
console.log(this.res_out_)
cb(this.res_out_)
}).catch(error => {
this.res_out_ = [this.res_out]
console.log(error.response)
});
}
Я пытался заполнить данные через Observable, и асинхронный канал все еще не работал.
Есть идеи?