Material-UI GridTile触摸事件

时间:2016-10-12 20:30:41

标签: reactjs material-ui

我正在使用库material-ui,我有一个GridList GridTile,可以响应两个不同的触摸事件:触摸平铺应让用户导航到另一条路线和'actionIcon'的触摸应该为它加注星标。我在GridTile和IconButton上定义了onTouchTap,它作为动作图标传递给了tile本身,如下所示:

    <GridTile
      onTouchTap={(e) => {
        onTileTouch(id)
      }}
      key={id}
      title={'...'}
      subtitle={'...'}
      actionIcon={<IconButton onTouchTap={
        addToFavourites(id)
      }/>}>
        <img src={'...'} />
    </GridTile>

但我得到的是GridTile消耗的每个touchTap事件。我怎样才能实现我的需要?

1 个答案:

答案 0 :(得分:3)

我认为这可以工作 - 你可以在GridList中包含一个onClick事件而不是onTouchTap,然后处理IconButton中的onTouchTap事件。它应该单独调用它们

<GridList onClick={ (e) => {
    onTileTouch(id)
  }}
    <GridTile
      key={id}
      title={'...'}
      subtitle={'...'}
      actionIcon={<IconButton onTouchTap={
        addToFavourites(id)
      }/>}>
        <img src={'...'} />
    </GridTile>
</GridList