在鼠标悬停时显示文本而不是图标 - react材质 ui 按钮

IT技术 javascript reactjs material-ui
2021-05-17 15:52:07

我在我的项目中使用材质 ui 按钮。最初添加按钮只有+ 图标

当鼠标悬停时,我需要将按钮的内容从图标更改为文本“创建项目”

代码如下。

import Fab from '@material-ui/core/Fab';
import AddIcon from '@material-ui/icons/Add';
import { makeStyles } from '@material-ui/core/styles';
const useStyles = makeStyles(theme => ({
  iconHover: {
    '&:hover': {
      border: '2px solid green',
      //TODO display the text CREATE ITEM instead of AddIcon
    }
  },

  floatBtn: {
    marginRight: theme.spacing(1),
  },
}));



const Index = () => {
  const classes = useStyles();
  return(
  <div className={classes.floatBtn}>
    <Fab size="small" color="secondary" aria-label="add" className={classes.iconHover}>
          <AddIcon />
        </Fab>
  </div>
)};

关于如何实现这一目标的任何想法?

1个回答

你可以使用onMouseOveronMouseOut

const Index = () => {
  const [hover,sethover]=useState(false);
  const classes = useStyles();
  return(
  <div className={classes.floatBtn}>
    <Fab onMouseOver={()=>sethover(true)} 
     onMouseOut={()=>sethover(false)} 
     size="small" color="secondary" aria-label="add" 
     className={classes.iconHover}>
          {hover?:("some text"):(<AddIcon />)
        </Fab>
  </div>
)};