ally69
@ally69
недофронтенд

Как динамически изменять количество колонок в angular-material gridlist?

Есть вот такая страница с mat-grid-list. Нужно, чтобы при открытии sidenav количество колонок сменялось с 4 на 3.
Компоненты (jobs и contracts) подгружаются через routing.
5af54483bf13f206659852.jpeg
5af5449e30fe0700412098.jpeg
  • Вопрос задан
  • 310 просмотров
Решения вопроса 2
0xD34F
@0xD34F
А в чём проблема-то? Заводите переменную, которая отвечает за количества колонок, привязываете её к вашему mat-grid-list в качестве значения параметра cols, и меняете как вам там нужно. Примерно так.
Ответ написан
ally69
@ally69 Автор вопроса
недофронтенд
В общем пока проблему решила топорно:
главный компонент:
onSideNavState() {
    if (this.sideNavState === true) {
      this.sideNavState = false;
    } else {
      this.sideNavState = true;
    }
    if (this.sideNavState === true) {
      this.router.navigate(['/system', 'jobs'], {queryParams: {isSideNavOpened: true}});
    }
    if (this.sideNavState === false) {
      this.router.navigate(['/system', 'jobs'], {queryParams: {isSideNavClosed: true}});
    }
  }


а вот компонент jobs:
ngOnInit() {
    this.route.queryParams
      .subscribe((params: Params) => {
        if (params['isSideNavOpened']) {
          this.cols = 3;
        } else if (params['isSideNavClosed']) {
          this.cols = 4;
        }
      });
  }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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