Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

194
Views
Angular usando ngTemplateOutlet para un menú desplegable de selección personalizado

Estoy tratando de crear un componente desplegable de selección personalizado que otros desarrolladores puedan implementar fácilmente de la siguiente manera:

 <ui-select placeholder="select an option" label="Select"> <ui-select-option *ngFor="let option of options" [id]="option"> <!-- any custom content to display for the option --> </ui-select-option> </ui-select>

Estoy usando @ContentChildren junto con ngTemplateOutlet para proyectar cada opción en la lista de opciones (esto me permite envolver cada opción en un elemento de la lista que puede manejar eventos de clic/estado css seleccionado, etc.).

Todo esto funciona bien, sin embargo, cuando selecciono una opción, quiero que la plantilla de la opción seleccionada se complete en el cuadro de entrada de selección. Cuando hago esto, la opción desaparece mágicamente de la lista.

Creé una reproducción mínima en stackblitz ( https://stackblitz.com/edit/angular-ackvfp ).

Encontré una forma que funciona con directivas estructurales ( https://stackblitz.com/edit/templateref-to-multiple-outlets ), sin embargo, esperaba evitar esto, ya que hacer un bucle de un montón de opciones y representarlas sería requiere un contenedor ng adicional para el bucle, ya que solo puede existir una directiva en cada componente (terminaría luciendo como la siguiente):

 <ui-select placeholder="select an option" label="Select"> <ng-container *ngFor="let option of options"> <ui-select-option *myValue="option"> <!-- any custom content to display for the option --> </ui-select-option> </ng-container> </ui-select>
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!