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

麦琪(Maciej Czarnota)

我在项目中使用material-ui,并且有一个红色复选框。

当某人仅将鼠标悬停在Checkbox上时,我想显示选中的图标。

如果不悬停,它将被隐藏。我似乎没有找到合适的选择器。如果有任何建议,我将为您提供帮助。

凯凯

在此处输入图片说明

一些注意事项:

  • 使用Material-UI嵌套选择器可以捕获SVG元素,因为该<Checkbox />元素是具有静态dom结构的lib元素。

  • 使用&:hover以捕捉onMouseOver事件。

  • 使用d: path(value)道具传递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>
  );
}

在线尝试:

编辑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>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将鼠标悬停在按钮上时如何打开Material-UI菜单

使用material-ui jss样式将鼠标悬停在父项上时如何更改子项的样式

在Material UI中将鼠标悬停在卡片上时如何放大卡片大小?

将鼠标悬停在 UI 上时如何更改其颜色

在我的 React 应用程序中,我使用的是 Material ui 中的 popover 组件。将鼠标悬停在图标上不会打开弹出窗口

将鼠标悬停在 Kendo UI 网格单元内的 imageurl 上时的 Shom 图像

将鼠标悬停在CommanNavigator中

将鼠标悬停在ReactJS中

Vue UI不会随着状态更改而更新,直到我将鼠标悬停在其上

将鼠标悬停在复选框上

当鼠标悬停在elm(elm-ui)中时,如何使文本删除线?

将鼠标悬停在div上更改标记图标

在鼠标悬停时显示文本而不是图标-React material ui button

如何修改ui.bootstrap.dropdown以响应鼠标悬停在放置按钮上的问题?

将鼠标悬停在文本上时将鼠标悬停

每次将鼠标悬停在上面时,重复进行鼠标悬停旋转

角度材质:将鼠标悬停在表格行上时显示复选框

将鼠标悬停在SVG上以更改颜色

jQuery类更改将鼠标悬停在效果上

将鼠标悬停在SVG上更改颜色

将鼠标悬停在div上不会更改颜色

将鼠标悬停在<li>上来更改div大小

将鼠标悬停在图像上会更改HTML背景

将鼠标悬停在图像上时按钮显示

将鼠标悬停在图像上时显示标签

将鼠标悬停在元素上时的文件信息

将鼠标悬停在图像上时使按钮出现

将鼠标悬停在图像上时显示图像

如何使用CSS将鼠标悬停在文本上