Angular 使用角度cdk创建覆盖中的垂直滚动

Angular 使用角度cdk创建覆盖中的垂直滚动,angular,angular-material,angular-material-5,angular-cdk,Angular,Angular Material,Angular Material 5,Angular Cdk,我使用了cdk的覆盖图,在单击按钮时显示一些内容。除垂直滚动机构外,所有部件均按预期工作 当我降低浏览器的高度时,覆盖层内的内容将获得垂直滚动条。将最大高度:600px和高度:600px同时提供给panelClass和内容。但还是一样的行为 试图查看“角度材质”对话框代码,但无法理解如何实现滚动 由于缺乏关于Overlay.scrollStrategies的清晰文档,我不清楚是否必须朝这个方向看 下面是代码摘录,我用它制作覆盖图 .help-menu-overlay-panel-class {

我使用了cdk的覆盖图,在单击按钮时显示一些内容。除垂直滚动机构外,所有部件均按预期工作

当我降低浏览器的高度时,覆盖层内的内容将获得垂直滚动条。将
最大高度:600px
高度:600px
同时提供给
panelClass
和内容。但还是一样的行为

试图查看“角度材质”对话框代码,但无法理解如何实现滚动

由于缺乏关于
Overlay.scrollStrategies
的清晰文档,我不清楚是否必须朝这个方向看

下面是代码摘录,我用它制作覆盖图

.help-menu-overlay-panel-class {
    overflow-y: auto;
    box-sizing: border-box;
    border-radius: 5px;
    background-color: #fff;
    max-height: 600px;
    height: 600px;
}

.help-overlay-container {
   overflow-y: auto;
   height: 600px;
}



<button [helpMenuOverlayTrigger]="helpMenuOverlayTemplate"></button>


<ng-template #helpMenuOverlayTemplate>
    <div class="help-overlay-container">
        ...
    </div>
</ng-template>



const overlayConfig: OverlayConfig = new OverlayConfig(<OverlayConfig>{
        hasBackdrop: true,
        direction: this.dir.value,
        backdropClass: 'cdk-overlay-dark-backdrop',
        maxHeight: '600px',
        maxWidth: '400px',
        panelClass: ['help-menu-overlay-panel-class']
    });

overlayConfig.positionStrategy = this.overlay
    .position()
    .connectedTo(
        this.elementRef,
        {
            originX: 'start',
            originY: 'bottom'
        },
        {
            overlayX: 'start',
            overlayY: 'top'
        }
    )
    .withOffsetY(10)
    .withOffsetX(-4)
    .withDirection(this.dir.value);

// overlayConfig.scrollStrategy = this.overlay.scrollStrategies.reposition();

this._overlayRef = this.overlay.create(overlayConfig);

this._overlayRef.backdropClick().subscribe(
    () => {
        this._overlayRef.detach();
    }
);
.help菜单覆盖面板类{
溢出y:自动;
框大小:边框框;
边界半径:5px;
背景色:#fff;
最大高度:600px;
高度:600px;
}
.帮助覆盖容器{
溢出y:自动;
高度:600px;
}
...
const overlayConfig:overlayConfig=新建overlayConfig({
哈斯:是的,
方向:this.dir.value,
backdropClass:“cdk叠加暗背景”,
最大高度:“600px”,
maxWidth:'400px',
panelClass:['help-menu-overlay-panel-class']
});
overlayConfig.positionStrategy=this.overlay
.职位(
.连接到(
这个.elementRef,
{
原文:“开始”,
原创:“底部”
},
{
overlyx:'开始',
覆盖:“顶部”
}
)
.withOffsetY(10)
.withOffsetX(-4)
.withDirection(此.dir.值);
//OverlyConfig.scrollStrategy=this.overlay.ScrollStrategys.Resposition();
this.\u overlayRef=this.overlay.create(overlayConfig);
此.\u overlayRef.backdropClick().subscribe(
() => {
这个._overlayRef.detach();
}
);

我想我得到了一个解决方案,我需要设置高度,比如
最大高度:calc(100vh-48px)您可以添加您的评论作为您的答案并接受它