如何修复菜单材质的阴影-UI

时间:2019-07-22 11:50:57

标签: reactjs material-ui

当我使用一些图标菜单时,框阴影看起来很暗。如何解决? 1enter image description here

Codesandbox示例https://codesandbox.io/embed/flamboyant-tdd-r83u1

   <div>
      {items.map((item, index) => {
        return (
          <Fragment key={index}>
            <IconButton
              aria-owns={open ? "long-menu" : undefined}
              onClick={this.handleClick}
            >
              <MoreVertIcon />
            </IconButton>
            <Menu anchorEl={anchorEl} open={open} onClose={this.handleClose}>
              {options.map(option => (
                <MenuItem key={option} onClick={this.handleClose}>
                  {option}
                </MenuItem>
              ))}
            </Menu>
          </Fragment>
        );
      })}
    </div>

2 个答案:

答案 0 :(得分:1)

因为,实际上您正在同时触发具有相同标志的多个菜单。因此阴影很暗,因为一个接一个地存在多个菜单。

答案 1 :(得分:0)

下面的代码可以解决此问题,您不必在项目循环中呈现菜单

  render() {
    const items = [...Array(10).keys()];
    const { anchorEl } = this.state;
    const open = Boolean(anchorEl);

    return (
      <div>
        {items.map((item, index) => {
          return (
            <Fragment key={index}>
              <IconButton
                aria-owns={open ? "long-menu" : undefined}
                onClick={this.handleClick}
              >
                <MoreVertIcon />
              </IconButton>

            </Fragment>
          );
        })}


        <Menu anchorEl={anchorEl} open={open} onClose={this.handleClose}>
          {options.map(option => (
            <MenuItem key={option} onClick={this.handleClose}>
              {option}
            </MenuItem>
          ))}
        </Menu>
      </div>
    );
  }