Сохранение боковой панели расширенной при перенаправлении - PullRequest
0 голосов
/ 20 ноября 2018

В моей sidenav есть панели расширения, и я отслеживаю их открытое состояние и настраиваю его. Таким образом, когда открывается другая панель, состояние изменяется, чтобы отразить открытую панель. В моей панели у меня есть элементы списка, которые по клику перенаправляют на другой маршрут. Моя проблема в том, что я хочу, чтобы панель перенаправления была открыта. При перенаправлении на маршрут к элементу списка происходит обновление, и sidenav возвращается в исходное состояние, которое, очевидно, свернуто. В списке есть щелчок, который реагирует на перенаправление на путь.

Ответы [ 3 ]

0 голосов
/ 20 ноября 2018

Попробуйте использовать макет с левой и правой секциями.Сохраняйте состояние в главном компоненте, и когда что-то щелкнет, обновите правую часть, которая является разделом контента.Это должно сделать трюк без каких-либо хлопот

0 голосов
/ 20 ноября 2018

Я бы сказал, используйте избыточность или некоторую библиотеку управления состоянием, если вы уже установили ее лучше всего. другой лучший способ - использовать страницу макета в главном файле, т.е. app.js, и загрузить маршрутизаторы в тело макета, а управление состоянием макета будет в управлении состоянием.

0 голосов
/ 20 ноября 2018

Отвечая на ваш вопрос независимо от React:

Сохранить состояние панели в .localStorage при изменении состояния:

localStorage.setItem('panelState',JSON.stringify(myStateObj));

После .DOMContentLoaded получить ивосстановить состояние:

restoreState(JSON.parse(localStorage.getItem('panelState')));

Если вы используете React, нужно задаться вопросом, почему вы не используете его в качестве SPA, но это для других вопросов и ответов, я полагаю

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...