ng-bootstrap: модальные глобальные параметры

Мы используем ng-bootstrap 1.0.

Мне нужно отключить клавишу escape, которая закрывает модальное окно.

Я понимаю, что это можно сделать с помощью:

`modalOption.keyboard = false;`

Как я могу применить этот параметр ко всем модальным окнам в моем приложении?


person Thibs    schedule 28.05.2018    source источник


Ответы (2)


Вы можете обернуть NgbModal.open в сервисный метод и вызывать этот метод, чтобы открывать модальные окна во всем приложении. В методе keyboard: false добавляется к другим параметрам, предоставляемым в качестве необязательного аргумента. См. этот stackblitz для демонстрации.

В эксплуатации:

constructor(private modalService: NgbModal) {}

public openModal(content, options = {}) {
  return this.modalService.open(content, { ...options, keyboard: false });
}

В компоненте:

openMyCenteredModal(content) {
  this.myService.openModal(content, { centered: true });
}
person ConnorsFan    schedule 28.05.2018
comment
Мерси! Я думал, что здесь будет показана всплывающая подсказка stackoverflow.com/questions/44659477/ - person Thibs; 29.05.2018

добавьте больше опций в файл модуля, который содержит ваш модальный модуль, например:

@NgModule({
    declarations: [
      MyModalComponent,
    ],
    imports: [
      CommonModule,
    ],
    entryComponents: [
      MyModalComponent,
    ]
  })
  export class AddAgentModalModule { 
    constructor(
        configModal: NgbModalConfig,
      ) {
        configModal.backdrop = 'static';
        configModal.keyboard = false;
      }    
  }


это повлияет на все время, когда вы открываете модальное окно.

person izik f    schedule 04.11.2019