将Material UI的TouchRipple组件应用于自定义元素/组件

时间:2016-09-15 20:19:28

标签: javascript reactjs material-design material-ui

我的material-ui应用程序中有一个列表,其中包含列和(图标)按钮。

单击列表中的项目时,我希望从Material Design中获得波纹效果。

材质UI的列表在点击时会产生涟漪效果,遗憾的是因为我使用的是自定义列表(因为我需要有多个列和许多其他自定义项)我没有涟漪效果(我只是使用div来创建我的列表。

我知道Material UI有一个组件TouchRipple,它用于所有具有连锁效果的组件(你可以在internal目录中找到它)我试图将我的自定义列表项包装成一个TouchRipple组件,但不幸的是,动画显示在页面顶部,与实际列表项的位置和大小没有任何关系,基本上它不能正常工作。

我的问题是,我可以,如果是,我如何在我的自定义组件上使用TouchRipple组件为它们添加涟漪效果?

2 个答案:

答案 0 :(得分:2)

我想出了如何让它发挥作用。

只需将样式transform: translate(0px, 0px);添加到TouchRipple生成的父div,就可以使纹波处于正确的位置和大小。

答案 1 :(得分:0)

您可以通过使用<ButtonBase>组件包装自定义组件来完成此操作。有关示例,请参见ButtonBase API page中的“复杂按钮”部分。