StivinKing
@StivinKing

Как правильно скармливать контент через *ngFor в DataTables?

Доброго времени суток,

Кто пользовался DataTables совместно с angular2?
Проблема заключается в следующем:
Есть компонент самой таблицы: sa-datatable, передаю в неё необходимые опции: [options]="optionsTable". Это все OK. все работает.
Далее в теле таблицы вывожу через *ngFor нужную информацию в таблицу. Здесь всё хорошо до того момента, пока не перейду на другую страницу, а потом заново не вернусь на эту. Тогда будет так же выведен контент (через *ngFor), но сама таблица будет считать, что в ней ничего нету (кол-во 0 из 0), и при попытке отсортировать, пропадет контент.

Пример кода (не настоящий)
***.component.html
<sa-datatable [options]="optionsTable"
              tableClass="display projects-table table table-striped table-bordered table-hover"
              width="100%">
    <thead>
    <tr>
        <th>columns 1</th>
        <th>columns 2</th>
        <th>columns 3</th>
        <th>columns 4</th>
        <th>columns 5</th>
    </tr>
    </thead>
    <tr *ngFor="let line of lines">
        <td>{{line.row_1}}</td>
        <td>{{line.row_2}}</td>
        <td>{{line.row_3}}</td>
        <td>{{line.row_4}}</td>
        <td>{{line.row_5}}</td>
    </tr>
</sa-datatable>


***.component.ts
public lines: any;
    public optionsTable = {
        "colReorder": true,
        "paging": false,
        "filter": false,
        "order": [[0, 'desc']],
    };

    ngOnInit() {
        this.getLines();
    }

    private getLines() {
        this.linesService.getLines()
            .subscribe(
                data => {
                    this.lines = data.lines;
                }
            )
    }
  • Вопрос задан
  • 259 просмотров
Пригласить эксперта
Ответы на вопрос 1
vitali1995
@vitali1995
Уже не первый раз встречаю вопрос о том, что данные из массива пропадают после сортировки. Большая вероятность, что вы после сортировки присваиваете отсортированный массив на то место, где был прежний. Поскольку ngFor связан со старым массивом, логично что после сборщика мусора он ничего не находит. Нужно работать с одним объектом и не перетирать указатели.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 11:53
3000 руб./за проект
22 нояб. 2024, в 11:51
20000 руб./за проект
22 нояб. 2024, в 11:50
200000 руб./за проект