У меня есть JSTree (плагин jQuery), встроенный в мое угловое приложение.
Плагин JSTree предоставляет контекстное меню для элементов дерева, которое я затем использую для вызова функций моего класса компонента Angular (например, нажатие «Preview Document» в контекстном меню вызывает функцию previewDocument (x) класса компонента).
Вот код, который я использую для этого:
$(this.dataTree.nativeElement).jstree({
contextmenu: {
items: {
preview: {
action: (node: any) => {
this.previewDocument(node.data.id);
}
}
}
},
..........
});
Функция предварительного просмотра документа вызывает службу уведомлений, которая открывает MatDialog для отображения запрошенного документа.
Теперь проблема: когда я нажимаю кнопку закрытия модала, ничего не происходит. Но когда я нажимаю за пределами модального режима, он закрывается. То же самое с первым щелчком вне модального окна, после чего нужно щелкнуть где-нибудь внутри модального окна, чтобы окончательно закрыть его.
Кажется, что-то не так с обновлением DOM, потому что, если я вызываю эту модальную функцию открытия нормально (не через плагин jQuery), все работает просто отлично.
Как заставить принудительно обновить DOM после закрытия модального окна?
PS: я использую MatDialogRef.close (); закрыть модал.