Basculer l'état actif du bouton dans la boucle v-for dans Vue 3
P粉046878197
2023-08-27 09:44:54
<p>Je crée un en-tête de filtre dans Vue 3 où vous pouvez sélectionner une catégorie à afficher, vous pouvez donc cliquer sur un commutateur pour basculer le filtre et si vous cliquez sur une autre catégorie, cela désélectionnera les catégories d'activité précédentes, là Il ne peut y avoir qu'une ou aucune catégorie active à la fois. </p>
<p>J'ai trouvé quelques exemples, comme ce jsfiddle, qui n'a pas de bouton bascule (cliquez à nouveau pour désélectionner) et n'utilise pas de boucle v-for. Je suis assez sûr de pouvoir convertir cela en une boucle v-for, mais je ne sais pas comment effectuer facilement la commutation et n'avoir qu'une seule catégorie active à la fois. </p>
<p>Voici mon code de base : </p>
<pre class="brush:html;toolbar:false;"><bouton
v-for="catégorie dans contentCategories"
@cliquez=""
class="bouton-filtre"
>
{{ catégorie }}
</bouton>
≪/pré>
<pre class="brush:js;toolbar:false;">const contentCategories = ["catégorie 1", "catégorie 2", "catégorie 3"];
let list = contentStore.resources;
const activeCategory = "";
const filteredList = liste
.filter((e) => e.category === activeCategory)
.map((e) => {
retourner e ;
});
≪/pré>
<p>Le comportement dont je pense avoir besoin est de stocker la catégorie active dans une chaîne <code>activeCategory</code> et d'appliquer l'étiquette active au bouton correspondant, puis de pouvoir la supprimer si vous cliquez sur le bouton actif. à nouveau Le <code>activeCategory</code>, ou modifie le <code>activeCategory</code> </p>
<p>Je suis désolé s'il s'agit d'une solution simple car je suis très nouveau sur Vue. Merci! </p>
Utiliser l'API combinée
Solution facile pour le suivi avec des références supplémentaires
Suivez l'activité des catégories si vous souhaitez implémenter plusieurs capacités de sélection