小编Add*_*bro的帖子

如何使用 Material ui 处理快速拨号操作?

我有三个操作支持我的 SpeedDialAction,但是当我尝试记录单个操作的 onClick 事件时,我得到了未定义的信息。

我尝试过使用不同的函数作为操作,还在方法调用中尝试了箭头函数语法

onClick={e => action.action(e)}
Run Code Online (Sandbox Code Playgroud)

onClick={action.action}
Run Code Online (Sandbox Code Playgroud)

行动:

const actions = [
    { icon: <Add />, name: 'Product', action: handleDialogOpen },
    { icon: <Add />, name: 'Addon', action: handleDialogOpen },
    { icon: <Label />, name: 'Tag', action: handleDialogOpen }
  ]
Run Code Online (Sandbox Code Playgroud)

快速拨号:

<SpeedDial
          ariaLabel='SpeedDial example'
          className={classes.speedDial}
          icon={<SpeedDialIcon />}
          onBlur={handleClose}
          onClick={handleClick}
          onClose={handleClose}
          onFocus={handleOpen}
          onMouseEnter={handleOpen}
          onMouseLeave={handleClose}
          open={open}
        >
          {actions.map(action => (
            <SpeedDialAction
              tooltipOpen
              key={action.name}
              icon={action.icon}
              tooltipTitle={action.name}
              onClick={action.action}
            />
          ))}
        </SpeedDial>
Run Code Online (Sandbox Code Playgroud)

handleDialogOpen 只是尝试记录事件

我希望输出是一个事件对象,而不是未定义的。

user-interface reactjs material-ui speed-dial

5
推荐指数
1
解决办法
6159
查看次数

标签 统计

material-ui ×1

reactjs ×1

speed-dial ×1

user-interface ×1