如何在onClick 事件绑定中传递参数?
How to pass parameters in onClick event bind?
我在 ListItem 中设置了一个 onClick
事件。然后在调用的方法上调用 .bind
以传递单击的列表项的 id 和 name 值。
以下 SO question 建议使用绑定,但似乎将 onCLick 事件添加到 ListItem 会破坏列表绑定。
在添加点击事件之前,绑定到 asset.name
的列表跨度按预期工作并且列表已填充。
此外,如果我尝试 onClick={this._onAssetSelected()
不带参数,点击事件将不起作用。
问题:
如何在 JSX 中的 onClick 事件绑定中传递参数?
列表定义:
<List selectable={true} selected={0}>
{
this.state.data.map(function (asset) {
return (
<ListItem justify="between" onClick={this._onAssetSelected.bind(this, asset.name, asset.id)} >
<span>{asset.name}</span>
</ListItem>
);
})
}
</List>
点击事件调用的方法:
_onAssetSelected(assetName, assetID) {
console.log(assetName);
console.log(assetID);
}
你可以做到。定义一个 anonymous
函数作为回调函数,在其中调用带有参数的方法。合上帮助!
<List
selectable={true}
selected={0}>
{
this.state.data.map(function (asset) {
return (
<ListItem
justify="between"
onClick={(e) => this._onAssetSelected(asset.name, asset.id, e)} >
<span>{asset.name}</span>
</ListItem>
);
})
}
</List>
我在 ListItem 中设置了一个 onClick
事件。然后在调用的方法上调用 .bind
以传递单击的列表项的 id 和 name 值。
以下 SO question 建议使用绑定,但似乎将 onCLick 事件添加到 ListItem 会破坏列表绑定。
在添加点击事件之前,绑定到 asset.name
的列表跨度按预期工作并且列表已填充。
此外,如果我尝试 onClick={this._onAssetSelected()
不带参数,点击事件将不起作用。
问题:
如何在 JSX 中的 onClick 事件绑定中传递参数?
列表定义:
<List selectable={true} selected={0}>
{
this.state.data.map(function (asset) {
return (
<ListItem justify="between" onClick={this._onAssetSelected.bind(this, asset.name, asset.id)} >
<span>{asset.name}</span>
</ListItem>
);
})
}
</List>
点击事件调用的方法:
_onAssetSelected(assetName, assetID) {
console.log(assetName);
console.log(assetID);
}
你可以做到。定义一个 anonymous
函数作为回调函数,在其中调用带有参数的方法。合上帮助!
<List
selectable={true}
selected={0}>
{
this.state.data.map(function (asset) {
return (
<ListItem
justify="between"
onClick={(e) => this._onAssetSelected(asset.name, asset.id, e)} >
<span>{asset.name}</span>
</ListItem>
);
})
}
</List>