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

226
Visualizações
¿Cómo permitir exportaciones múltiples desde un componente de archivo único Vue3?

Estoy haciendo un componente de archivo único Vue3 para una lista personalizada. En mi componente de archivo único, quiero exportar el componente principal predeterminado de Vue, pero también la enumeración que declara qué tipo de lista es:

niño:

 <template> <Listbox> <template #header> <h5>{{listType}}</h5> </template> </Listbox> </template> <script lang="ts"> export enum PagesListType { RecentlyCreated = 'Recently Created', RecentlyModified = 'Recently Modified', Starred = 'Starred' }; export default { props: { listType: PagesListType }, data() { return { pages: [], PagesListType }; }, }; </script>

La enumeración solo tiene sentido dentro del contexto de este componente, por lo que no quiero ponerlo en otra carpeta de tipos. Solo se relaciona con el comportamiento de esta lista. Pero cuando trato de hacer esto en el componente principal, falla:

padre:

 <template> <div> <PagesList :listType="PagesListType.RecentlyCreated"></PagesList> <PagesList :listType="PagesListType.RecentlyModified"></PagesList> <PagesList :listType="PagesListType.Starred"></PagesList> </div> </template> <script lang="ts"> import PagesList, { PagesListType } from './PagesList.vue'; export default { //parent component details }; </script>

Cuando importo la enumeración PagesListType nombrada, simplemente no está definida. ¿Qué debo hacer para exportar la enumeración nombrada correctamente? ¡Gracias!

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

0

Creo que necesita exportar la enum en un archivo separado e importarlo en diferentes archivos para usarlo. Dónde coloque este archivo depende principalmente de usted, cómo desea estructurar su proyecto.

Por ejemplo, el archivo types.ts en la carpeta src puede definir y exportar la enumeración como:

 export enum PagesListType { RecentlyCreated = 'Recently Created', RecentlyModified = 'Recently Modified', Starred = 'Starred' }

puede usar la enumeración en cualquier lugar importándola como:

 import { PagesListType } from '@/types';

tienes que usar @/ en lugar de src/. debido a la carpeta src a @ en su configuración de TypeScript disponible en el archivo tsconfig.json.

about 4 years ago · Juan Pablo Isaza Relatório

0

Pude hacer que esto funcionara al no exportar la enumeración, sino agregarla como una propiedad al componente predeterminado exportado:

niño:

 enum PagesListType { RecentlyCreated = 'Recently Created', RecentlyModified = 'Recently Modified', Starred = 'Starred' }; export default { props: { listType: PagesListType }, PagesListType, data() { return { pages: [], PagesListType }; }, };

padre:

 <template> <div> <PagesList :listType="created"></PagesList> <PagesList :listType="modified"></PagesList> <PagesList :listType="starred"></PagesList> </div> </template> <script lang="ts"> import PagesList from './PagesList.vue'; export default { computed: { created() { return PagesList.PagesListType.RecentlyCreated; }, modified() { return PagesList.PagesListType.RecentlyModified; }, starred() { return PagesList.PagesListType.Starred; } }, //other parent implementation details omitted }; </script>
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