【发布时间】:2020-03-08 01:45:34
【问题描述】:
在将 Material Stepper 与容器动画结合使用时,注意到一些奇怪的行为。
如果您在 mat-stepper 动画时单击一个步骤,则该步骤的内容将不可见。
HTML:
<strong> reload - while the stepper is fading in - spam click step 2 </strong>.
<mat-horizontal-stepper [@fadeAnimation]>
<mat-step>
<p>STEP ONE CONTENT</p>
</mat-step>
<mat-step>
<p>STEP TWO CONTENT</p>
</mat-step>
<mat-step>
<p>STEP THREE CONTENT</p>
</mat-step>
</mat-horizontal-stepper>
动画:
function fadeAnimation() {
return trigger('fadeAnimation', [
state('void', style({})),
state('*', style({})),
transition(':enter', [
style({ opacity: 0 }),
animate('1s ease-in-out', style({ opacity: 1 }))
]),
transition(':leave', [
style({ opacity: 1 }),
animate('1s ease-in-out', style({ opacity: 0 }))
])
]);
}
是否有可能的解决方法?
(当然除了[@.disabled],动画还是要的。)
【问题讨论】:
-
您遇到的浏览器问题? Chrome 我可以看到所有 3 个步骤的内容。
-
铬。重新加载demo,当它淡入时,垃圾邮件点击第2步。你会看到它消失了。我将动画时间增加到 2 秒,应该让它更明显。
-
可见性的一些问题:可见。如果您查看 chrome 中的计算样式选项卡。它会向您显示可见性:隐藏,尽管它应该在动画完成后将其计算为可见性:可见。
-
使用
visibility样式也与opacity