Панель расширения пользовательского интерфейса React Material отключает указатель курсора - PullRequest
0 голосов
/ 25 апреля 2020

Я хочу отключить наведение курсора на панели расширения Material-ui, чтобы наведение указывало только на ExpandIcon:

https://material-ui.com/api/expansion-panel/

Надеюсь не хочу использовать отключенное свойство ExpansionPanel, но я не могу найти способ управления поведением указателя курсора с помощью css в ExpansionPanelSummary.

1 Ответ

0 голосов
/ 25 апреля 2020

Это меняет мышь с указателя на значение по умолчанию. Вы не можете открыть панель, щелкнув по панели, а только щелкнув по значку, откроется сводная панель. Посмотрите демоверсию песочницы

import React from "react";
import { makeStyles } from "@material-ui/core/styles";
import ExpansionPanel from "@material-ui/core/ExpansionPanel";
import ExpansionPanelSummary from "@material-ui/core/ExpansionPanelSummary";
import ExpansionPanelDetails from "@material-ui/core/ExpansionPanelDetails";
import Typography from "@material-ui/core/Typography";
import ExpandMoreIcon from "@material-ui/icons/ExpandMore";

const useStyles = makeStyles(theme => ({
  root: {
    width: "100%",
    "& .MuiExpansionPanelSummary-root:hover": {
      cursor: "default"
    }
  },
  panel: {
    cursor: "default"
  },
  heading: {
    fontSize: theme.typography.pxToRem(15),
    fontWeight: theme.typography.fontWeightRegular
  }
}));

export default function SimpleExpansionPanel() {
  const classes = useStyles();
  const [open, setOpen] = React.useState(false);
  return (
    <div className={classes.root}>
      <ExpansionPanel expanded={open}>
        <ExpansionPanelSummary
          expandIcon={<ExpandMoreIcon onClick={() => setOpen(!open)} />}
          classes={{
            // if styles not ovverided it shows flickering
            root: classes.panel // class name, e.g. `classes-nesting-root-x`
          }}
          aria-controls="panel1a-content"
          id="panel1a-header"
        >
          <Typography className={classes.heading}>Expansion Panel 1</Typography>
        </ExpansionPanelSummary>
        <ExpansionPanelDetails>
          <Typography>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse
            malesuada lacus ex, sit amet blandit leo lobortis eget.
          </Typography>
        </ExpansionPanelDetails>
      </ExpansionPanel>
    </div>
  );
}

Если вы хотите сделать это, используя CSS. затем добавьте эти строки в файл CSS и импортируйте его. Но вы можете увидеть небольшое мерцание, потому что после установки по умолчанию курсор указывает на указатель, вы меняете его на значение по умолчанию (стрелка). Вы можете переопределить это в теме или с помощью команды make style и class.

.MuiExpansionPanelSummary-root:hover {
  cursor: "default";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...