react中如何获取onclick事件调用元素的dom对象

今天终于有时间写博客了,

前几天项目有个需求,我感觉用dom操作兄弟元素实现比较方便,但是前端用的react框架不能用jquery的$(this)获取当前元素,查了好多资料和尝试后写下总结:

在HTML元素处写法如下:

    <OverflowMenuItem
                itemText={locale.modify}
                onClick={(e) => this.expand(e)}
              />

  方法处如下:

@action
  expand = (e) => {
    console.log(e);
}

  打印结果如下:

打印出来一大堆东西中的currentTarger其实就是我们需要的,这次换成打印currentTarger:

加一句

console.log(e.currentTarget);
结果如图

 

进行了几个dom操作后.的确这就是触发元素本身,

总结,

调用方法处写成

onClick={(e) => this.expand(e)}
方法内可以通过e.currentTarget获取触发元素的dom对象
expand = (e) => {
  console.log(e);
  console.log(e.currentTarget);
}

猜你喜欢

转载自www.cnblogs.com/zizaiwuyou/p/onclick_dom.html