Я использую переменную ссылки шаблона для этого компонента. Вот как я создал оверлей для раскрывающихся опций
<ng-template
cdk-connected-overlay
[minWidth] = "optionsWidth"
[open] = "isOpen"
[origin] = "origin"
#optionsContainer
>
<div class = "options">
<ng-content></ng-content>
</div>
даже после обновления значения minwidth ширина cdkconnectedoverlay не меняется
Я попытался обновить его, используя оверлей ref. Ниже приведен код
@ViewChild('optionsContainer')
optionsContainer: CdkConnectedOverlay;
Далее я читаю оверлей
this.optionsContainer.overlayRef
но это всегда undefined, застрял с этим, может кто-нибудь помочь Я использую версию angular cdk 5.XX
добавьте атрибут positionChange и попробуйте код:
this.optionsContainer.overlayRef.updateSize ({minWidth: this.optionsWidth})
overlayRef
будет существовать только после прикрепления оверлея.
Вы можете подписаться на событие attach
, чтобы определить, когда оно прикреплено, а затем применить нужную ширину.
this.optionsContainer.attach.subscribe(() => {
// update width here
})