XPosition и yPosition в мат-меню не работают

Я попробовал xPosition и yPostion в самом угловом материале. Но это не работает. Я не знаю, упускаю ли я что-то.

<button mat-button [matMenuTriggerFor] = "menu">Menu</button>
<mat-menu #menu = "matMenu" xPosition = "after">
  <button mat-menu-item>Item 1</button>
  <button mat-menu-item>Item 2</button>
</mat-menu>

Я сослался на несколько ссылок, в которых говорится, что проблема исправлена. Обратитесь сюда.

Я не мог понять это.

Заранее спасибо.

Тестирование функциональных 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
4
0
6 515
3

Ответы 3

Это отлично работает для меня. Вы ничего не пропустите. Код правильный. Это зависит от ориентации, которую вы пытаетесь добавить.

изображение1:

изображение2:

На этих картинках один и тот же код, на первом фото места под кнопкой нет.

наверное вы ее решили, но я все равно выкладываю, может кому пригодится.
Если вы следуете документы, все должно работать отлично (см. раздел #customizing-menu-position).
Причина, по которой это может не работать, вероятно, зависит от позиции, в которую вы поместили меню: например, если вы пытаетесь открыть его с помощью yPosition=выше, у него должно быть достаточно места, чтобы открыть его сверху, иначе оно откроется снизу. То же самое для xPosition.
Я знаю, это может звучать глупо, но для меня это было причиной того, что это не сработало.
HTML:

    <button class = "myButton" mat-button [matMenuTriggerFor] = "menu">Menu</button>
  <mat-menu yPosition = "above" #menu = "matMenu">
    <button mat-menu-item>Item 1</button>
    <button mat-menu-item>Item 2</button>
  </mat-menu> 

CSS:

.myButton{
  margin-top: 90px;
}

Это серьезно, но у меня есть обходной путь. В отдельном файле css вы можете указать:

::ng-deep.mat-menu-panel {
/* These numbers are my requirement, put something which suits yours */
  transform: translate(0px, 32px); 
}

Но если даже после этого изменения вы столкнулись с этой проблемой, перейдите к следующему шагу, чтобы наложить панель:

::ng-deep.cdk-overlay-pane{
  transform: translate(0px, 32px);
}

Удачи. Надеюсь это поможет...

Да, это работает идеально, второй вариант. Не пробовал первый, так как меню завернуто в .cdk-overlay-pane

Ikechukwu Eze 10.08.2020 18:41

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