我当前的版本隐藏了每一行,但它发生得太快了,你可以 在我的 codepen中看到。通过删除顶部元素进行复制。
如果你的事件是这样展开的,我更愿意:
- 消退
- 向上滑动
我不确定如何使用 CSS 过渡和 ReactTransitionGroup
如果我能到达你看到元素消失的阶段,那么一切都聚集起来,那将是一个很好的开始!
我的过渡内容:
const CustomerList = ({ onDelete, customers }) => {
return (
<div class="customer-list">
<TransitionGroup>
{customers.map((c, i) =>
<CSSTransition
key={i}
classNames="customer"
timeout={{ enter: 500, exit: 1200 }}
>
<CustomerRow
customer={c}
onDelete={() => onDelete(i, c)}
/>
</CSSTransition>
)}
</TransitionGroup>
</div>
);
}
我的 CSS:
.customer-enter {
opacity: 0.01;
}
.customer-enter.customer-enter-active {
opacity: 1;
transition: 500ms;
}
.customer-exit {
opacity: 1;
}
.customer-exit.customer-exit-active {
opacity: 0.01;
transition: 1200ms;
}
更新
我已经想出用css你可以有两个像这样依次发生的转换
.something {
width: 200px;
height: 100px;
background-color: black;
transition: background-color 200ms ease, height 200ms ease 200ms;
}
.something:hover {
height: 0px;
background-color: blue;
}
所以这只是一个<CSSTransition timeout={} />
实际等待它的情况......
反应更新
我有“效果”工作....见codepen
但是,显然在这里,元素仍然存在,这不是正确的功能行为