Привет и добрый день,
Создатель ng2-smart-table сообщил мне, что вместо публикации по электронной почте следует открыть здесь сообщение, так что другие программисты также могут воспользоваться этим вопросом.То, что я пытаюсь сделать, это обновить datatable, когда массив, используемый для связывания, был изменен.Рядом с ним находится фильтр, который работает непосредственно с массивом, удаляя элементы или добавляя элементы.Вот простой пример того, как это работает сейчас:
let arr = [];
//fill arr with data
let arrayData = arr;
Вот так, это работает, так как в HTML у меня есть [data] = 'arrayData'
Проблема в том, что он поворачиваетсяэто медленный фильтр, и я всегда создаю таблицу со всеми ее элементами.Я изменил метод фильтра, чтобы просто добавить или удалить необходимые элементы из массива, используя splice для удаления и нажать для добавления, чтобы я не воссоздавал массив каждый раз со всеми необходимыми элементами.Массив действительно изменяется, и он работает так, как задумано, но проблема в том, что измененный массив не влияет на данные, он продолжает показывать свое старое состояние, как если бы массив не имел изменений.Я встречал некоторые решения на форуме gat hub datatable, но ни одно из них не подходит для моего случая.Я считаю, что у меня есть некоторая разница в этом проектеУ меня есть созданный компонент, который использует базу данных, как общую таблицу, используемую некоторыми страницами.Фильтр, который я применяю, принадлежит определенной странице.На этой странице у меня есть что-то вроде этого в моем HTML:
<app-datatable id="tableSpecific" class="last-fixed" [(columns)]="columns" [data]="arrayData"[paging]='false' (emmitClick)="apply($event.data)"></app-datatable>
Компонент app-datatable имеет следующий HMLT:
<ng2-smart-table [settings]="config" [source]="data" (userRowSelect)="clickEmmiter($event)"></ng2-smart-table>
Итак, реализация моего фильтра, который изменяетмассив находится на другой странице.Единственное, что связывает эти 2 вместе, это
[data]= array
Что я могу сделать, чтобы принудительно обновить данные или что-то в таблице данных?