Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

219
Visualizações
Cómo analizar correctamente los subcomponentes en un componente Stencil.js

Estoy tratando de usar Stencil.js para crear un componente de pestañas con la siguiente estructura:

 <custom-tabs> <custom-tab active label="Label 1"> Some generic HTML content <custom-rating value="4"></custom-rating> </custom-tab> <custom-tab active label="Label 2"> Some more generic HTML content <custom-rating value="5"></custom-rating> </custom-tab> </custom-tabs>

El componente principal necesita representar el HTML subyacente analizando cada componente de 'pestaña personalizada' (que no tiene el método de representación) y extrayendo el parámetro 'etiqueta' de cada pestaña, creando la lista de navegación de esas etiquetas y extrayendo de manera similar el el contenido principal de cada pestaña y se muestra en el panel correspondiente de la pestaña.

En mi componente principal, tomo las pestañas en el gancho 'componentWillLoad'

 componentWillLoad() { // Grab tabs from this component this.tabs = Array.from(this.el.querySelectorAll('custom-tab')); console.log(this.tabs); }

y luego en la función de renderizado trato de generar el contenido:

 return ( <div> {this.tabs.map((tab: HTMLCustomTabElement, index: number) => { return ( <div role="tab" onClick={() => this.openTab(index)}> {tab.label} {tab.innerHTML} </div> ); })} </div> );

El problema es que tab.innerHTML no analiza el componente custom-rating y solo lo muestra como texto. ¿Podría sugerir la forma correcta de mostrar el contenido de la pestaña para que todo se analice correctamente?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede generar HTML configurando la propiedad innerHTML :

 return ( <div> {this.tabs.map((tab: HTMLCustomTabElement, index: number) => { return ( <div role="tab" onClick={() => this.openTab(index)}> {tab.label} <div innerHTML={tab.innerHTML}></div> </div> ); })} </div> );
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda