Reactjs Material UI React.js,是否有方法为ListItem和ListItem';阿凡达?
我正在使用Material UI库,无法确定是否有办法在列表项上发生两个不同的单击事件 这基本上就是我所拥有的:Reactjs Material UI React.js,是否有方法为ListItem和ListItem';阿凡达?,reactjs,material-ui,Reactjs,Material Ui,我正在使用Material UI库,无法确定是否有办法在列表项上发生两个不同的单击事件 这基本上就是我所拥有的: <ListItem leftAvatar={ <div onClick={() => insideAvatarFunction()} > {<Avatar />} </div> } primaryText=
<ListItem
leftAvatar={
<div onClick={() =>
insideAvatarFunction()}
>
{<Avatar />}
</div>
}
primaryText={primaryText}
onTouchTap={() => everywhereClickFunction}
/>);
{}
}
primaryText={primaryText}
onTouchTap={()=>Everywhere ClickFunction}
/>);
onTouchTap触发,并忽略leftAvatar内部的onClick。如果外部onTouchTap不存在,则onClick将触发fine
有没有办法让onTouchTap在点击化身之外的任何地方时触发
谢谢 如果其他人遇到这个问题,@zv.diego的评论解决了这个问题 我将
stopPropagation()
放在div的onClick
函数中,并将父函数切换到onClick
,而不是onTouchTap
,它就工作了
防止当前事件在捕获和冒泡阶段进一步传播
从“React”导入React;
从“物料ui/List”导入{List,ListItem};
从“材质ui/化身”导入化身;
导出默认类App扩展React.Component{
InsideAvatar函数(e){
e、 停止传播();
log('Fired insideAvatarFunction()!');
}
全方位点击功能(e){
log('Fired everywhere clickfunction()!');
}
渲染(){
返回(
您尝试过在div的onClick匿名函数中使用stopPropagation()吗?@zv.diego谢谢您的帮助!我是web开发的新手,所以我不知道这一点。再次感谢:)
import React from 'react';
import {List, ListItem} from 'material-ui/List';
import Avatar from 'material-ui/Avatar';
export default class App extends React.Component {
insideAvatarFunction(e) {
e.stopPropagation();
console.log('Fired insideAvatarFunction()!');
}
everywhereClickFunction(e) {
console.log('Fired everywhereClickFunction()!');
}
render () {
return (
<List>
<ListItem primaryText="Inbox"
leftAvatar={
<div onClick={this.insideAvatarFunction}>
<Avatar />
</div>
}
onTouchTap={this.everywhereClickFunction}
onClick={this.everywhereClickFunction}
/>
</List>
);
}
}