Невозможно обновить минимальную ширину cdk-connected-overlay

Я использую переменную ссылки шаблона для этого компонента. Вот как я создал оверлей для раскрывающихся опций

<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

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
0
474
2

Ответы 2

добавьте атрибут positionChange и попробуйте код:

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

overlayRef будет существовать только после прикрепления оверлея. Вы можете подписаться на событие attach, чтобы определить, когда оно прикреплено, а затем применить нужную ширину.

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

Другие вопросы по теме