无法更新cdk-connected-overlay的最小宽度

问题描述 投票:0回答:2

我正在为此组件使用模板引用变量。以下是我为下拉选项创建叠加层的方法

<ng-template
cdk-connected-overlay
[minWidth]="optionsWidth"
[open]="isOpen"
[origin]="origin"
#optionsContainer
>

<div class="options">
  <ng-content></ng-content>
</div>

即使在更新最小值后,cdkconnectedoverlay的宽度也不会改变

我尝试使用overlay ref更新它,下面是代码

@ViewChild('optionsContainer')
  optionsContainer: CdkConnectedOverlay;

接下来我读了overlayref

this.optionsContainer.overlayRef

但这总是未定义,坚持这可以任何人帮助我使用角度cdk 5.XX版本

angular angular5 overlay angular-template angular-cdk
2个回答
0
投票

添加positionChange属性并尝试代码:

this.optionsContainer.overlayRef.updateSize({minWidth:this.optionsWidth})


0
投票

overlayRef只有在附加叠加后才会存在。您可以订阅attach事件以确定它何时附加,然后应用您想要的宽度。

this.optionsContainer.attach.subscribe(() => { // update width here })

© www.soinside.com 2019 - 2024. All rights reserved.