Material-UI List(V1-beta):如何将列表项传递给onClick函数?

时间:2017-09-26 16:35:02

标签: reactjs material-ui

我在dumb组件中预定义了列表项。我试图将列表项传递给我的onClick函数,以便我的代码可以识别单击了哪个项目,我可以相应地导航。这是我的哑组件代码:

export const mainMenuListItems = (gn, an, onMenuClick) => (
  <div>
    <ListItem onClick={() => onMenuClick(event, this)} button>
      <ListItemIcon>
        <HomeIcon />
      </ListItemIcon>
      <ListItemText primary="Home" />
    </ListItem>

   <ListItem onClick={() => onMenuClick(event, this)} button>
     <ListItemIcon>
      <ChartIcon />
     </ListItemIcon>
     <ListItemText primary="Charts" />
   </ListItem>
  </div>
);

这是我智能组件的代码:

  onMenuClick = (event, type) => {
    debugger; //eslint-disable-line
    let a = type; //always undefined
    alert('Home Clicked');
  };
........OTHER CODE............
..............................
  <List className={classes.list}>
    {mainMenuListItems(
      this.props.isGenerationAllowed,
      this.props.isAnalystAllowed,
      this.onMenuClick,
    )}
  </List>

我试图在这个函数调用“onMenuClick(event,this)”中绑定“this”,但无论我做什么,它总是“未定义”。我确信访问用户点击的对象应该非常容易(至少在其他语言中)。请指导我如何访问该对象。我在这个问题上花了相当多的时间。任何帮助,将不胜感激。

0 个答案:

没有答案