ng-bootstrap 1.0全局配置:如何禁用所有模态框的ESC关闭功能
全局禁用ng-bootstrap 1.0模态框的ESC关闭功能
我来帮你搞定这个全局配置的问题~在ng-bootstrap 1.0版本里,要让所有模态框都默认禁用ESC键关闭,根本不用一个个去单独设置,通过全局配置提供者就能一次性解决,具体步骤如下:
实现步骤
- 在你的根模块(通常是
AppModule)中,导入NgbModalModule和NgbModalOptions这两个依赖。 - 创建一个全局的模态框配置对象,把
keyboard属性设为false。 - 在模块的
providers数组中,注册这个全局配置对象作为NgbModalOptions的提供者。
代码示例
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { NgbModalModule, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap'; import { AppComponent } from './app.component'; // 定义全局模态框配置 const globalModalConfig: NgbModalOptions = { keyboard: false // 禁用ESC键关闭模态框 }; @NgModule({ declarations: [AppComponent], imports: [BrowserModule, NgbModalModule], providers: [ { provide: NgbModalOptions, useValue: globalModalConfig } ], bootstrap: [AppComponent] }) export class AppModule { }
例外情况处理
如果之后某个特定的模态框需要重新开启ESC键关闭功能,只需要在调用modalService.open()方法时,单独传入keyboard: true的选项,就能覆盖全局配置:
// 这个模态框会允许用ESC键关闭,不受全局配置限制 this.modalService.open(MySpecialModalComponent, { keyboard: true });
内容的提问来源于stack exchange,提问作者Thibs
相关产品推荐
相关产品推荐

