我正在为此组件使用模板引用变量。以下是我为下拉选项创建叠加层的方法
<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版本
添加positionChange属性并尝试代码:
this.optionsContainer.overlayRef.updateSize({minWidth:this.optionsWidth})
overlayRef
只有在附加叠加后才会存在。您可以订阅attach
事件以确定它何时附加,然后应用您想要的宽度。
this.optionsContainer.attach.subscribe(() => {
// update width here
})