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

133
Visualizações
Vue 3 Composición API ref propiedad primitiva no reactiva

Entonces, mientras construyo un sistema de pestañas, aprovecho useSlots y accesorios para crear una variedad de títulos (estos son los títulos de cada pestaña que abro en mi sistema de pestañas), luego creo una propiedad ref llamada selectedTitle en orden para vincular ese título a una clase y agregar css para resaltar la pestaña seleccionada por el usuario:

Este es mi componente:

 <template> <div> <ul class="tag-menu flex space-x-2" :class="defaultTagMenu ? 'default' : 'historic'" role="tablist" aria-label="Tabs Menu" v-if="tabTitles && tabTitles.length" > <li @click.stop.prevent="selectedTitle = title" v-for="title in tabTitles" :key="title" :title="title" role="presentation" :class="{ selected: title === selectedTitle }" > <a href="#" role="tab"> {{ title }} </a> </li> </ul> <slot /> </div> </template> <script> import { ref, onMounted, computed, useSlots, provide } from "vue"; export default { props: { defaultTagMenu: { type: Boolean, default: true, }, }, setup() { const slots = useSlots(); const tabTitles = computed(() => slots.default()[0].children.map((tab) => tab.props.title) ); const selectedTitle = ref(tabTitles.value[0]); provide("selectedTitle", selectedTitle); provide("tabTitles", tabTitles); onMounted(() => { console.log("V3 mounted!"); }); return { tabTitles, selectedTitle, }; }, }; </script>

Este es el escenario: cada vez que cierro una pestaña (por el bien de este ejemplo que funciona y no es parte del problema) quiero cerrar la pestaña y luego lo que espero es que la propiedad de referencia de título seleccionado de mi componente sea reactiva , lo que significa cambiar su valor en consecuencia dependiendo de la matriz tabTitles . Cuando inspecciono el componente, veo que cada vez que cierro una pestaña, la matriz tabTitles cambia, pero no el valor del título seleccionado , siempre tiene el mismo valor sin importar qué.

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

0

Intenta usar reactivo en lugar de ref.

 import { reactive } from "vue"; const selectedTitle = reactive(tabTitles.value[0]);
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