【问题标题】:Adding dynamic style to material ui Menu with makeStyles not working使用makeStyles向材质ui菜单添加动态样式不起作用
【发布时间】:2021-02-22 18:50:41
【问题描述】:

我正在尝试以这种方式在材质 ui 菜单上动态生成类:

const useStyles = (props) => {
  return makeStyles({
    paper: props.style,
  });
};

const StyledMenu = (props) => {
  const classes = useStyles(props)();
  return <Menu {...props} className={classes.paper} />;
};

render() {
const { state, fnsMenuBtn, fieldsMenuBtn, props } = this;
const { fnsMenuIsOpen, fieldsMenuIsOpen } = state;
return (
<StyledMenu
          id="fnsMenuEl"
          anchorEl={fnsMenuBtn}
          keepMounted
          open={fnsMenuIsOpen}
          style={{ border: "1px solid blue" }}
          onClose={(e) => {
            vm.setState((state, props) => {
              return {
                fnsMenuIsOpen: !state.fnsMenuIsOpen,
              };
            });
          }}
        >
          {Object.keys(formulajs).map((fnName) => (
            <MenuItem onClick={(e) => {}} key={fnName}>
              {fnName}
            </MenuItem>
          ))}
 </StyledMenu>
)
}

但想要的样式从未添加到菜单中 怎么了 ? 不然怎么办?

【问题讨论】:

    标签: reactjs material-ui


    【解决方案1】:

    使用className安装尝试使用classes

    const StyledMenu = (props) => {
     const classes = useStyles(props)();
     return <Menu {...props} classes={{paper: classes.paper}} />;
    };
    

    【讨论】:

    • 非常感谢老兄!
    猜你喜欢
    • 2020-11-14
    • 2020-08-19
    • 1970-01-01
    • 2021-11-04
    • 2019-06-02
    • 2020-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多