typescript 角5 /材料,如何在“材料”对话框中删除垂直滚动?

pes8fvy9  于 2022-11-30  发布在  TypeScript
关注(0)|答案(9)|浏览(163)

我正在尝试移除“材料”对话方块中的垂直卷动。
我尝试用CSS

.mat-dialog-container /deep/ {
   overflow-y: hidden;
}

以及父组件中的代码

this.dialog._overlayContainer._containerElement.style.overflowY = "hidden";

可是,没有办法。
有谁知道我是怎么做到的吗?
谢谢

1qczuiv0

1qczuiv01#

转到styles.scss文件,然后添加以下内容:

.custom-dialog-container .mat-dialog-container {
  overflow-y: hidden;
}

并且添设了

panelClass: 'custom-dialog-container'

作为要发送到dialogComponent的MatDialogRef对象的一部分

vdgimpew

vdgimpew2#

在对话框组件的样式中:

/deep/ .mat-dialog-content {
    overflow-y: hidden !important;
}
dgtucam1

dgtucam13#

这是我的实现。在TrendDialogComponent的父组件中

const dialogRef = this.trendDialog.open(TrendDialogComponent, {
                    autoFocus: false,
                    panelClass: 'trend-dialog',
                    width: '1360px', height: '680px',
                    data: {tagsTrend: this.tagNames}
                  });

并将此css添加到style.css

.trend-dialog .mat-dialog-container{
    overflow-y: hidden !important;
}
5fjcxozz

5fjcxozz4#

在对话框组件的样式中,可以使用

::ng-deep .mat-dialog-container {
    overflow-y: hidden !important;
}
yqhsw0fo

yqhsw0fo5#

当我的html包含mat-dialog-content时,我遇到了同样的问题

<div mat-dialog-content>
    <mat-form-field>
        ....
    </mat-form-field>
</div>

然后我改口道:

<div>
    <mat-form-field>
        ....
    </mat-form-field>
</div>

并从对话框中删除垂直滚动条。

0qx6xfy6

0qx6xfy66#

如果你的对话框延伸到整个页面,而右边的滚动条没有消失,我会建议这个选项。

.cdk-global-scrollblock {
    overflow-y: hidden;
}

这对我很有效。

doinxwow

doinxwow7#

::ng-deep .mat-dialog-container {
  overflow-x: hidden !important;
  overflow-y: hidden !important;
}
afdcj2ne

afdcj2ne8#

.mat-dialog-content {
  background-color: #eff2f5;
  display: block;
  margin: 0 -24px;
  padding: 0 24px;
  max-height: 109vh;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
}
flvtvl50

flvtvl509#

您可以通过MatDialogConfig的id设置组件的css id

let config: MatDialogConfig<BigImgData> = {
    scrollStrategy: this.overlay.scrollStrategies.block(),
    id: 'bigImgComp',
};
this.dialogRef = this.dialog.open(BigImgComponent, config);

然后在src\styles.css中设置id的css

#bigImgComp {
  overflow: hidden; /* Hide scrollbars */
}

相关问题