【发布时间】:2017-03-15 23:41:18
【问题描述】:
我在 react-router 中使用 material-ui 组件。当我想显示应该作为链接元素工作的列表项时,我遇到了一个问题,但其中还包含一个不应触发父链接的子菜单。确实如此,但我不知道如何禁用它。
var iconMenu =
<IconMenu iconButtonElement={<IconButton><MoreVertIcon /></IconButton>}>
<MenuItem primaryText='change name' onTouchTap={this.edit}/>
<MenuItem primaryText='delete' onTouchTap={this.delete} />
</IconMenu>
<ListItem
key={i}
containerElement={<Link to={`/items/${item.id}`} />}
rightIconButton={iconMenu}
/>
当我单击iconMenu 按钮时,我不希望<Link to={`/items/${item.id}`} /> 被触发,所以我留在页面中。但确实如此。那么我该如何解决这个问题呢?我尝试添加事件处理程序来运行stopPropagation(),但没有成功...
谢谢!
【问题讨论】:
-
你必须使用
<Link>吗?也许,作为一种解决方法,您可以使用在激活 ListItem onTouchTap 和 navigate programatically using React Router 时调用的函数 -
@CésarLandesa 不是。但我们之前使用过它,这会导致一些其他相关问题......
标签: javascript reactjs react-router material-ui