【发布时间】:2019-09-23 18:05:24
【问题描述】:
我有一个材质侧导航,一开始是打开的,通过单击菜单项它会扩展。我通过使用 2 个类并使用 ngClass 在扩展类和非扩展类之间移动:
HTML:
<mat-sidenav-container class="sidenav-container" hasBackdrop="false">
<mat-sidenav #sidenav class="sidenav" mode="over" opened="true">
<mat-list-item (click)="isExpanded = !isExpanded">
<div [ngClass]="{'list-item-expanded': isExpanded , 'list-item': !isExpanded}">
<div class="icon-container">
<i class="icon-hamberger-menu"></i>
</div>
<div class="title-container">{{'menu.menu'| translate }}</div>
</div>
</mat-list-item>
<mat-list-item>
<div [ngClass]="{'list-item-expanded': isExpanded , 'list-item': !isExpanded}">
<div class="icon-container">
<i class="icon-dashboard"></i>
</div>
<div class="title-container">{{'menu.dashboard'| translate }}</div>
</div>
</mat-list-item>
</mat-sidenav>
<div class="page-content">
<router-outlet></router-outlet>
</div>
</mat-sidenav-container>
我的 2 个 scss 课程:
.sidenav {
.list-item {
cursor: pointer;
display: flex;
min-width: 64px;
height: 64px;
justify-content: center;
flex-direction: column;
text-align: center;
}
.list-item-expanded {
cursor: pointer;
min-width: 200px;
height: 64px;
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 0px 15px 0px 15px;
}
}
2 个州:
有什么方法可以让它们动画从打开状态变为展开状态?
【问题讨论】:
-
可能使用
ViewChild()并使用js 制作动画。 -
@VahidNajafi 谢谢,我是用 css 动画制作的。
-
嗨@FatemeFazli 我正在努力达到你的确切结果,你找到解决方案了吗?
标签: angular angular-material css-animations