【问题标题】:Filter items CSS grid position re-adjusment animations [duplicate]过滤项目CSS网格位置重新调整动画[重复]
【发布时间】:2019-01-23 16:17:06
【问题描述】:

我有一个 react 应用程序,可以过滤 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>

当网格项消失或重新出现时,如何为网格项应用过渡动画以滑动到位?

【问题讨论】:

标签: css reactjs css-grid


【解决方案1】:

我制作了一个动态控制组件动画的包。基本上,它使您能够动画组件运动(和更多)从一个地方渲染到另一个地方。组件的主要思想是你给它一个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

【讨论】:

  • 这是边界线link-only answer(另见here)。您应该扩展您的答案以在此处包含尽可能多的信息,例如您链接的示例,并且这些链接仅供参考。基本上,Stack Overflow(以及所有 Stack Exchange)上的帖子必须是独立的。这意味着您的答案中需要包含足够的信息,这样读者就不需要到场外寻找指示。现在,这个答案并非如此。目前,这充其量只是可用性有限。
猜你喜欢
  • 2019-06-18
  • 2019-02-17
  • 2021-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
相关资源
最近更新 更多