Сохранить состояние таблицы Angular Material после перенаправления компонента

У меня есть TableComponent с таблицей Angular Material, которая содержит некоторые ссылки на другие компоненты.

Вторая страница таблицы

Когда я нахожусь на второй странице таблицы (изображение выше) и нажимаю на ссылку, routerLink перенаправляет на DetailComponent. После перенаправления, если я нажму кнопку «Назад» или выполню location.back(), я вернусь к TableComponent, но таблица находится на первой странице, а не на той, что была раньше.

Первая страница таблицы

Есть ли способ сохранить предыдущее состояние таблицы после перенаправления между компонентами?

Заранее спасибо!


person Iñigo    schedule 31.07.2019    source источник
comment
Я не знаю, почему этот вопрос был отклонен. Это то, что я искал.   -  person ReturnTable    schedule 23.09.2019


Ответы (1)


Когда вы выполняете перенаправление между компонентами, их содержимое уничтожается, поэтому уничтоженный компонент не может ничего запомнить ;) Но вы можете хранить информацию об индексе страницы где-то еще в приложении (службе или хранилище, если вы с помощью Редукса).

Таким образом, вы можете сохранить индекс страницы перед перенаправлением, т.е. использовать сервис или, что еще лучше, просто обновлять сервис после каждого изменения страницы.

Затем вы можете получить индекс и использовать свойство pageIndex MatPaginator, как описано в документации: https://material.angular.io/components/paginator/api, чтобы установить правильный индекс страницы после возвращения на эту страницу. Дайте мне знать, если вам нужна дополнительная помощь с этим.

person Patryk Łucka    schedule 31.07.2019
comment
Спасибо, Патрик, это то, что мне нужно было знать! - person Iñigo; 31.07.2019