javascript - Material-ui:如何停止在嵌套组件中传播点击事件

标签 javascript reactjs material-ui

我在 Paper 组件中有一个 IconMenu 组件。 我想防止在内部组件(IconMenu)上传播点击事件。 这就是我想出的,没有明显的结果(我也尝试用 onTouchTaponMouseUp 替换 onClick 具有相同的效果): _iconMenuClick 方法是从来没有打电话。

render() {
     return (
         <Paper onClick={this._onClick}>
             <IconMenu iconButtonElement={iconButtonElement} onClick={this._iconMenuClick}>
                 {menuItems}
             </IconMenu>
         </Paper>
     );
}

_iconMenuClick(event) {
    MenuItem.onClick(event);
    event.stopPropagation();
}

最佳答案

除了使用event.stopPropagation(); 值得注意的是,它应该写在 onClick 事件处理程序中。

我犯了一个错误,将它写在一个 onChange 事件处理程序中,但它不起作用。

我找到了解决方案 here

编辑:

<ListItem button onClick={this.handleListItemClick}>
-       <Checkbox onChange={this.handleCheckboxChange} />
+       <Checkbox onClick={this.handleCheckboxChange} />
      </ListItem>

关于javascript - Material-ui:如何停止在嵌套组件中传播点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34929267/

相关文章:

reactjs - 在 TextField 类型 ="number"上设置最小值/最大值?

javascript - 如何处理 JavaScript 中的 setTimeout 错误?

javascript - 创建移动的文本装饰

javascript - react 。 onClick 事件未触发

ReactJS、SocketIO 和 Redux - 什么是正确的设计

javascript - 如何将Material UI数据传递给Formik?

javascript - Underscore.js:如何链接自定义函数

javascript - 如何使用 VPN 测试 javascript 地理定位?

javascript - 用 enzyme 进行 react 测试TypeError : Cannot read property 'state' of undefined

javascript - 如何调整 MUI Tooltip 字体大小?