ReactJS affiche message d'alerte lorsque le lien est cliqué
Le code suivant affiche un message d'alerte comme les règles sont liés dans le map()
fonction. Je ne veux pas que cela se produise. Au lieu de cela, comment puis-je lier la onClick()
de chaque lien, donc lorsque l'utilisateur clique sur le lien, le message sera alors un spectacle? Je pense que cela a à faire avec la mise en place bind(this)
quelque part dans le map()
code, mais ne peut pas le comprendre. Merci pour toute aide!
const RuleResults = React.createClass({
showMessage: function (rule) {
if (rule.ShowMessageToUser == true) {
alert(rule.MessageToUser);
}
},
render: function () {
var rules = this.props.businessRules.map((rule) => {
return (
<tr>
<td>
<a href={rule.HREF} onClick={this.showMessage(rule)} target='_blank'>{rule.Name}</a>
</td>
</tr>
);
});
return (
<div>
<table>
<thead>
<tr>
<th>Name</th>
</tr>
</thead>
<tbody>
{rules}
</tbody>
</table>
</div>
);
}
});
OriginalL'auteur Frekster | 2016-05-12
Vous devez vous connecter pour publier un commentaire.
Vous devriez passer à
onClick
référence à la fonction, au lieu de l'appeler. Pour le faire, vous pouvez utiliser.bind
oufunction
<a href={rule.HREF} onClick={ this.showMessage.bind(this, rule) }>..</a>
<a href={rule.HREF} onClick={ () => this.showMessage(rule) }>..</a>
Exemple
OriginalL'auteur Alexander T.