我的组件附加了以下动画代码
animations:[
trigger('slide', [
state('show', style({
height: '*'
})),
state('hide', style({
position: 'relative',
height: 0,
overflow: 'hidden'
})),
transition('show <=> hide',animate('130ms ease-out'))
])
]
这很难解释,(而且我似乎无法使用动画来制作动画)但是这里有。
目前的功能如下:
所需的功能如下:
表格再次滑入div下。
编辑:这是一个plunker演示。您可以看到在表格中添加/删除行时,动画无法平滑移动到新的高度。
问题是由于您处于 true 状态并添加了行。
动画不会再次转换为 true ,因为它已处于 true 状态。
那么在添加项目时如何触发向“newHeight”状态的转换?
答案 0 :(得分:0)
我使用角度动画API制作了一个快速粗糙的动画示例:
https://embed.plnkr.co/7qWuHmbFFie4p8Y9h53T/
我会玩那个plnkr直到你得到正确的动画。您可以通过在模板中使用* ngIf切换动画来完全删除表格后隐藏元素,或者按照我在plnkr中显示的方式执行,但在动画后切换表格的可见性完成了。 I prefer the *ngIf way.
对于添加或删除的各行:
我会在表格的每一行添加一个@animation,如果行数增加则启用向上动画,如果减少则启用向下动画。