je par exemple le code ci-dessous:Réagir: Est-ce possible de remplacer un "balise de balise d'espace réservé" envoyé en tant qu'enfant?
<AjaxForm>
<input type="hidden" name="xxx" value="xxx" />
<div className="grid">
<div className="gdcol-xs-11">
[[SUBMIT_BUTTON]]
</div>
<div className="gdcol-xs-11">
[[CANCEL_BUTTON]]
</div>
</div>
</AjaxForm>
Et je voudrais, par exemple, être en mesure dans le composant AjaxForm pour remplacer l'espace réservé balise « submit_button » par ceci:
<a href="javascript:void(0);" onClick={this.handleSubmit}>VALIDATE</a>
Est y at-il un moyen de faire cela en itérant sur this.props.children dans le composant AjaxForm? Est-il possible de trouver du texte en rampant tous les enfants?
Dois-je utiliser des refs ou une clé?
Merci d'avance!
---- EDIT
Pour ajouter des informations, c'est le rendu de la composante AjaxForm
return (
<form action="" method="post" ref={this.ajaxRef} id={this.props.id} onSubmit={this.onSubmit}>
<input type="hidden" name="form_id" value={this.props.id} />
{this.props.children}
<input type="submit" value="" className="fake-submit" />
<div id={("ajax-") + this.props.id + ("-messages-container")} className="ajax-form-messages"></div>
</form>
)
Y at-il une raison que vous faites de cette façon? – sma
Yeap, ajaxForm est un composant utilisé pour différentes formes et je veux être libre de mettre des éléments (comme le bouton Soumettre) où je veux en fonction du formulaire –
Vous dites 'mettre le bouton Soumettre où vous voulez', mais gagné ' Tu as le comportement inverse maintenant? Le bouton de soumission apparaîtra toujours partout où vous avez écrit '[[SUBMIT_BUTTON]]'. Pourquoi ne pas simplement mettre le bouton de soumission réel où vous voulez? – azium