css - 过滤项目 CSS 网格位置重新调整动画
问题描述
我有一个反应应用程序,可以过滤 CSS 网格布局中的一堆项目。
未过滤时,网格包含所有项目。
<div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div>
应用过滤后,项目网格将变小
<div>
<div class="product"></div>
<div class="product"></div>
<div>
如果另一个过滤器被删除,可能会有更多。
<div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div>
当网格项消失或重新出现时,如何为网格项应用过渡动画以滑入到位?
解决方案
我制作了一个动态控制组件动画的包。基本上,它使您能够对组件的移动(以及更多)从一个位置渲染到另一个位置进行动画处理。组件的主要思想是你给它一个singularKey和一个singularPriority,当一个组件被渲染服务时间(组件由singularKey标识)它只会渲染具有最高singularPriority的实例并从最后渲染的实例位置开始动画和尺寸。对于像您这样的情况,用例非常相似,但您只需要在一个地方渲染组件,我添加了一个 animationTrigger 道具,当更改时会导致组件从其先前状态开始动画。
这是包:https ://www.npmjs.com/package/react-singular-component
这是示例:https ://dor6.github.io/react-singular-component/
查看列表示例,它与您的情况非常相似。您可以将项目添加到列表顶部或删除列表中任何位置的项目。我将项目索引用作animationTrigger,并且每当项目索引更改时,项目都会进行动画处理。
您还可以查看 github 上的列表示例代码:https ://github.com/dor6/react-singular-component/blob/master/examples/src/listExample.js
推荐阅读
- javascript - jQuery ajax laod 脚本不加载
- sql - 初始化字符串的格式不符合从索引 0 开始的规范(更新数据库错误)
- swift - 长按自定义 UiTableViewCell 执行Segue
- javascript - Reactjs,如何使用 moment.js 介于
- ruby-on-rails - Ruby on Rails 应用程序未部署
- symfony - 使用 Flex 将 Symfony 3.4 升级到 4.x - Composer 问题
- c# - 查找列表
有 (无论属性顺序如何 ) 在 C# 中 - c# - c#类库中的依赖注入
- cryptography - 客户端和服务器模型中的数字证书
- c# - 从 SQL Server 表中获取超过百万行