我想移除按钮上的涟漪效果,并在MUI按钮中实现我的自定义效果。我已经使用 disableRipple 移除了波纹。我尝试在用户单击元素时应用阴影,但不知何故,它不起作用。
import * as React from "react";
import Button from "@mui/material/Button";
import { alpha } from "@mui/material/styles";
export default function DefaultProps() {
return (
<Button
variant="outlined"
// className='Mui-focusVisible'
disableRipple
sx={{
"&:hover": {
boxShadow: `0px 0px 0px 0px ${alpha("#000", 0.16)}`
},
"&.Mui-focusVisible": {
boxShadow: `0px 0px 0px 50px ${alpha("#000", 0.16)}`
},
"&.Mui-active": {
boxShadow: `0px 0px 0px 8px ${alpha("#000", 0.16)}`
}
}}
>
Change default props
</Button>
);
}
我已经使用了Mui-focusVisible来应用单击时的阴影,这里提到的是doc
禁用Ripple布尔错误
如果为true,则禁用涟漪效果。如果️没有波纹,则默认情况下没有样式:focus-visible。请确保通过使用.Mui-focusVisible类应用单独的样式来突出显示元素。
我的主要目的是实现与Ant Design相同的单击效果。请检查此处的按钮:https://ant.design/components/button/
沙盒:https://codesandbox.io/s/defaultprops-material-demo-forked-rhggn?file=/demo.js
有人能帮我吗?
2条答案
按热度按时间ncgqoxb01#
脉冲效应
神奇的事情发生在
style.css
文件中,参见分叉的CodeSandbox snippet。编辑
由于您希望代码位于
sx
中,因此我将代码从style.css
文件移动到App.js
文件中,并将其放置在sx
中。请参见StackBlitz snippet。应用程序js
索引.js
索引.html
样式.css
cigdeys32#
比这简单多了...只需调用disableRipple={true},就可以开始了。