Показать сообщение отдельно
  #1 (permalink)  
Старый 19.12.2019, 12:08
Аспирант
Отправить личное сообщение для sniffysko Посмотреть профиль Найти все сообщения от sniffysko
 
Регистрация: 20.10.2009
Сообщений: 79

Принудительная перерисовка компонента
Есть проблема. При внесении изменений в данные компонент не перерисовывается.
Данные:
[
    {
        "id": 55,
        "name": "Интерфейс",
        "type": "section",
        "children": [
            {
                "id": 56,
                "parent_id": 55,
                "name": "01. Максимальная ширина диалога",
                "type": "string",
                "value": "600"
            },
            {
                "id": 57,
                "parent_id": 55,
                "name": "02. Максимальная высота диалога",
                "type": "string",
                "value": "800"
            }
        ]
    },
    {
        "id": 2,
        "name": "Общие настройки приложения",
        "type": "section",
        "children": [
            {
                "id": 47,
                "parent_id": 2,
                "name": "01. Титул в названиии сайта",
                "type": "string",
                "value": "Академия ДТЭК"
            },
            {
                "id": 52,
                "parent_id": 2,
                "name": "02. Адрес smtp сервера",
                "type": "string",
                "value": "smtp.dtek.com"
            }
        ]
    }
]

Все это выводится в виде mat-expansion-panel и может редактироваться.
Верхний уровень это рубрики, а все что в children, это содержимое expansion-panel. Если редактировать верхний уровень, то изменения отображаются корректно. Но если отредактировать дочерний элемент, то ангуляр не видит изменений и, соответственно, компонент не перерисовывает. Я ставил отлов события ngOnChanges и судя по ним изменений никто не видит. При этом, вывод в консоль говорит о том, что данные изменились.
От большой печали после внесения изменений в переменную данных, поставил detectChanges() но это результатов не дало.
Как заставить приложение принудительно перерисовать компонент?
Ответить с цитированием