0
votes

Étiquette de formulaire et entrée de formulaire dans des composants distincts

J'ai une étiquette de formulaire dans un composant et son entrée personnalisée réutilisable associée dans un composant séparé. Je l'ai conçu comme ceci car parfois je veux une étiquette avec l'entrée personnalisée et parfois je ne le fais pas. Parfois, je veux que l'étiquette soit au-dessus de l'entrée personnalisée et parfois, je le souhaite en ligne avec l'entrée personnalisée. Ainsi, des composants séparés ont du sens. Il ressemble à quelque chose comme ça (bien que le balisage dans le composant parent puisse varier):

composant1.component.html: p> xxx pré>

composant2.component.html p>

<input id="myInput" ... loads of custom stuff here>


0 commentaires

3 Réponses :


1
votes

Vous pouvez envelopper les deux composants dans un composant parent et passer l'ID requis en émettant un événement en cliquant sur l'étiquette dans la

Votre code sera comme

parentcomponent.html xxx

et parentcomponent.ts sera xxx

et composant1.ts sera comme xxx

composant1.html xxx

lorsque le composant2.ts sera Comme xxx

et composant2.html xxx


0 commentaires

1
votes

J'ai eu ce travail en faisant cela:

<label>
  <span>Label Text</span>
  <app-component2></app-component2>
</label>


0 commentaires

1
votes

Vous pouvez relancer l'attribut d'identifiant en lisant l'identifiant comme un @input code>, le rendant sur l'élément de formulaire dans le modèle, puis la supprible de l'élément hôte (comme les identifiants HTML doivent être unique) Une fois le modèle initié. XXX PRE>

et dans le composant2 Modèle P>

<label for="myInput">Label Text</label>
<app-component2 id="myInput"></app-component2>


0 commentaires