我只是想在我的对话框窗口中添加一些动画,所以当用户点击show按钮时,Dialog应该使用动画来自顶部.我尝试在组件元数据上使用动画属性,但它似乎不起作用.我想要的一个简单例子是:
关于如何使这个动画工作的任何想法?非常感谢提前!
这是我的代码:
app.component.ts
animations: [
trigger('slide-dialog', [
state('inactive', style({
transform: 'translate3d(10%, 0%, 0)'
})),
state('active', style({
transform: 'translate3d(30%,20,0)'
})),
transition('active => inactive', animate('400ms ease'))
])
app.template.html
<p-dialog [@slide-dialog]="alertstate" header="Title" [(visible)]="display" width = '450' height = '200'
[positionLeft]='positionLeft'
[positionTop]='positionTop'>
Content
</p-dialog>
最佳答案 尝试用[@ slide-dialog] =“display?’active’:’inactive’”替换[@ slide-dialog] =“alertstate”.
此外,如果您希望在出现模态时应用动画,请替换
transition('active => inactive', animate('400ms ease'))
通过
transition('inactive => active', animate('400ms ease'))
编辑
要进行下滑过渡,请将其添加到CSS:
.ui-dialog {
top: inherit !important;
}
你的州应该看起来像:
state('inactive', style({
position: 'absolute',
top: '0px'
})),
state('active', style({
position: 'absolute',
top: '150px'
})),
见工作Plunker