我的react项目中一个应用场景就是在点击一个元素的时候想要获取到这个元素的属性。
代码如下:
renderyear=()=>{
return(
<div>
<Tag color="#108ee9" onClick={this.TagClick} data-value="年初">年初</Tag>
<Tag color="#108ee9" onClick={this.TagClick} data-value="年末">年末</Tag>
</div>
);
}
//点击标签的时候触发的函数
TagClick=(e)=>{
console.log("e",e);
console.log("e.target",e.target); //指向返回事件的目标节点(触发该事件的节点)
console.log("e.target.dataset",e.target.dataset);
this.setState({
tagSelect:e.target.dataset.value,
Pickerstatus:false,
});
}
如果想获取到触发元素的属性,需要两步骤:
1需要在触发元素上用“data-”+“属性”的形式定义,如value值写成data-value,calss值写成data-class
2.通过e.target.dataset.属性能够获取属性
e.target.dataset.png
如上图:
我在方法中分别打印出来了e,e.target,e.target.dataset