gpt4 book ai didi

javascript - 在 Material-UI React 中悬停时如何更改复选框样式和图标?

转载 作者:行者123 更新时间:2023-12-04 10:22:50 24 4
gpt4 key购买 nike

我在我的元素中使用了 material-ui,我有一个红色的复选框。

我想在有人只将鼠标悬停在复选框上时显示选中的图标。

不悬停时会隐藏。我似乎没有找到合适的选择器。我会喜欢任何关于我能做些什么的建议。

最佳答案

enter image description here

一些注意事项:

  • 使用 Material-UI nesting selector捕捉自 <Checkbox /> 以来的 SVG 元素是一个具有静态 dom 结构的 lib 元素。

  • 使用 &:hover catch onMouseOver事件。

  • 使用 d: path(value)传递 Prop d对 SVG 子元素的值 <path />

import React from "react";
import "./styles.css";
import { Checkbox } from "@material-ui/core";
import { makeStyles } from "@material-ui/core/styles";
import AcUnit from "@material-ui/icons/AcUnit";
// import Accessibility from "@material-ui/icons/Accessibility";

const useStyles = makeStyles(theme => ({
root: {
background: "#f1f1f1",
"&:hover": {
"& span": {
"& svg": {
"& path": {
d:
"path('M12 2c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm9 7h-6v13h-2v-6h-2v6H9V9H3V7h18v2z')"
}
}
}
}
}
}));

export default function App() {
const classes = useStyles();
return (
<div className="App">
<Checkbox className={classes.root} icon={<AcUnit />} />
</div>
);
}

在线试用:

Edit amazing-golick-rjmcs


引用:<Checkbox />浏览器可见结构

<span
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-8 MuiCheckbox-root MuiCheckbox-colorSecondary makeStyles-root-85 MuiIconButton-colorSecondary"
aria-disabled="false"
>
<span class="MuiIconButton-label">
<input
class="PrivateSwitchBase-input-11"
type="checkbox"
data-indeterminate="false"
value=""
/><svg
class="MuiSvgIcon-root"
focusable="false"
viewBox="0 0 24 24"
aria-hidden="true"
role="presentation"
>
<path
d="M22 11h-4.17l3.24-3.24-1.41-1.42L15 11h-2V9l4.66-4.66-1.42-1.41L13 6.17V2h-2v4.17L7.76 2.93 6.34 4.34 11 9v2H9L4.34 6.34 2.93 7.76 6.17 11H2v2h4.17l-3.24 3.24 1.41 1.42L9 13h2v2l-4.66 4.66 1.42 1.41L11 17.83V22h2v-4.17l3.24 3.24 1.42-1.41L13 15v-2h2l4.66 4.66 1.41-1.42L17.83 13H22z"
></path>
</svg>
</span>
<span class="MuiTouchRipple-root"></span>
</span>

关于javascript - 在 Material-UI React 中悬停时如何更改复选框样式和图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60762322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com