You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ng-bootstrap 1.0全局配置:如何禁用所有模态框的ESC关闭功能

全局禁用ng-bootstrap 1.0模态框的ESC关闭功能

我来帮你搞定这个全局配置的问题~在ng-bootstrap 1.0版本里,要让所有模态框都默认禁用ESC键关闭,根本不用一个个去单独设置,通过全局配置提供者就能一次性解决,具体步骤如下:

实现步骤

  1. 在你的根模块(通常是AppModule)中,导入NgbModalModule和NgbModalOptions这两个依赖。
  2. 创建一个全局的模态框配置对象,把keyboard属性设为false。
  3. 在模块的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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:39:48