3

我有一个 Angular 5 应用程序,它必须mat-select在 Bootstrap 模态中使用 Angular Material。问题是下拉选项出现在模式后面。我的代码如下所示:

<mat-form-field class="mdb-form-field form-adjustments">
    <mat-select placeholder="What fruit are you looking for?" [formControl]="fruitType" [(ngModel)]="defaultFruitType">
        <mat-option *ngFor="let fruitType of fruitTypes" [value]="fruitType">{{ fruitType }}
        </mat-option>
    </mat-select>
</mat-form-field>

我知道我应该使用z-index将 Angular Material 的选择选项放在前面。但问题是上什么课?我尝试将它应用于 Angular Material 的多个类,但无济于事。以下所有操作均失败:

body div.cdk-overlay-container {
  z-index: 99999;
}

/deep/ .cdk-overlay-pane {
  z-index: 99999 !important;
}

/deep/ .cdk-global-overlay-wrapper, .cdk-overlay-container {
  z-index: 99999 !important;
}

.mat-select-menu-container {
  z-index: 99999 !important;
}

.mat-dialog-container {
  z-index: 99999;
}

/deep/ .mat-select-panel {
  z-index: 99999 !important;
}

/deep/ .mat-primary {
  z-index: 99999 !important;
}

有谁知道我必须在哪一类 Angular Material 上应用z-index才能将选择选项置于模态的最前面?

谢谢!

4

2 回答 2

7

我在使用 Angular Material 6/Bootstrap 4 时遇到了同样的问题。我在 styles.scss 文件中使用以下样式解决了这个问题 -

.cdk-global-overlay-wrapper {
     z-index: 1000;
}
于 2018-08-22T20:38:22.793 回答
3

我尝试了许多黑客攻击,但只有这个对我有用:

.cdk-overlay-container {
  z-index: 9999 !important;
}
于 2020-07-23T10:13:54.260 回答