ng-bootstrap: модальные глобальные опции
Мы используем ng-bootstrap 1.0.
Мне нужно отключить клавишу escape, которая закрывает модальный.
Я понимаю, что это можно сделать с помощью:
`modalOption.keyboard = false;`
Как я могу применить этот параметр ко всем модалам в моем приложении?
1 ответ
Решение
Вы можете обернуть NgbModal.open
в методе обслуживания, и вызовите этот метод, чтобы открыть модалы во всем приложении. В методе keyboard: false
добавляется к другим опциям, указанным в качестве необязательного аргумента. Смотрите этот стек для демонстрации.
В обслуживании:
constructor(private modalService: NgbModal) {}
public openModal(content, options = {}) {
return this.modalService.open(content, { ...options, keyboard: false });
}
В компоненте:
openMyCenteredModal(content) {
this.myService.openModal(content, { centered: true });
}
В файле модуля, содержащем ваше модальное окно, есть дополнительная опция:
@NgModule({
declarations: [
MyModalComponent,
],
imports: [
CommonModule,
],
entryComponents: [
MyModalComponent,
]
})
export class AddAgentModalModule {
constructor(
configModal: NgbModalConfig,
) {
configModal.backdrop = 'static';
configModal.keyboard = false;
}
}
это повлияет на все время открытия модального окна.