场景很简单 - 我有一些跨度,当我点击它们时,我使用事件“e”来跟踪用户点击的元素(我有很多这样的元素)所以得到“e.target”是从onClick非常简单,就像这样:
React.createElement('span', {
onClick: this._toggleIcons
}, span);
_toggleIcons: function(e){
$(e.target).toggleClass("show");
},
到目前为止一切顺利。
但是现在我需要将一些额外的参数传递给事件“e”,但我不知道该怎么做。我无法确定这是否可能。
React.createElement('span', {
onClick: this._toggleRemoveOption( ?params? )
}, span2);
_toggleRemoveOption: function(e, param1, param2){
$(e.target).toggleClass("remove");
console.log(e.target);
console.log(param1);
console.log(param2);
},
所以我的问题是 - 如何将我的onClick事件处理程序参数设置为白色以便我可以使用它们(param1,param2)并且还可以访问“e.target”?
谢谢
答案 0 :(得分:3)
创建一个新功能(es5ify方式)
React.createElement('span', {
onClick: (function(_this){
return function(e) {
_this._toggleRemoveOption(e, 'param1', 'param2')
}
}(this))
}, span2);
或者
React.createElement('span', {
onClick: function(e) {
this._toggleRemoveOption(e, 'param1', 'param2')
}.bind(this)
}, span2);
答案 1 :(得分:1)
使用bind:
sbt run