@ds3

Как сохранять в localStorage без потери установленных по умолчанию данных?

У меня есть таблица и компонент который позволяет выбирать какие столбцы отобразить, а какие скрыть. И хотелось чтоб при выборе столбцов они сохранялись и при перезагрузке страницы не терялись.

Но у меня по умолчанию устанавливается так что якобы не один столбец не выбран. и из-за этого возникает такая ошибка:

Error: Cannot read property 'concat' of null


Как сохранять в localStorage без потери установленных по умолчанию данных?

ngOnInit() {
  this.displayedColumns = [
    { value: "position", displayName: 'Позиция' },
    { value: "name", displayName: 'Имя' }
  ];
  this.displayedColumns = this.displayedCols.map(col => col.value);
  this.displayedColumns = JSON.parse(localStorage.getItem('displayedCols'));
}

onChange() {
  localStorage.setItem('displayedCols', JSON.stringify(this.displayedColumns));
}


Пример на Stackblitz.
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер

ngOnChanges()
A callback method that is invoked immediately after the default change detector has checked data-bound properties if at least one has changed, and before the view and content children are checked.


Потому что onChanges срабатывает, когда изменились входные или выходные свойства компонента. А у вас их нет.

Ну и вообще код не очень.
вот
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы