Avec le développement et l'avancement continus de la technologie front-end, l'application du framework Vue devient de plus en plus populaire. Dans les applications pratiques de Vue, les fonctions consistant à cocher plusieurs cases et à toutes les sélectionner sont souvent utilisées. Dans la documentation Vue, les méthodes d'implémentation consistant à cocher plusieurs cases de sélection et à toutes les sélectionner sont également très détaillées.
Boîtes à sélection multiple dans Vue
Dans Vue, la méthode d'implémentation des boîtes à sélection multiple est très simple. Il vous suffit d'utiliser <input type="checkbox">
là où vous devez utiliser des boîtes à sélection multiple. Lorsque plusieurs options doivent être sélectionnées, il vous suffit de définir la même valeur de modèle V pour chaque option. Le code spécifique est le suivant :
<div id="app"> <input type="checkbox" id="item1" value="item1" v-model="checkedItems"> <label for="item1">Item 1</label> <br> <input type="checkbox" id="item2" value="item2" v-model="checkedItems"> <label for="item2">Item 2</label> <br> <input type="checkbox" id="item3" value="item3" v-model="checkedItems"> <label for="item3">Item 3</label> <br> <p>Checked items: {{checkedItems}}</p> </div> <script> new Vue({ el: '#app', data: { checkedItems: [] } }) </script>
Dans le code ci-dessus, nous utilisons un tableau vérifiéItems pour stocker la valeur de l'option sélectionnée. Lorsque l'utilisateur vérifie une option, la valeur de l'option sera ajoutée au tableau selectedItems.
Sélectionner toutes les fonctions dans le document Vue
Dans le document Vue, nous nous fournissons également une méthode pour réaliser la sélection de toutes les cases à sélection multiple. Le code spécifique est le suivant :
<div id="app"> <input type="checkbox" id="selectAll" v-model="allChecked" @change="checkAll"> <label for="selectAll">Select all</label> <br> <input type="checkbox" id="item1" value="item1" v-model="checkedItems"> <label for="item1">Item 1</label> <br> <input type="checkbox" id="item2" value="item2" v-model="checkedItems"> <label for="item2">Item 2</label> <br> <input type="checkbox" id="item3" value="item3" v-model="checkedItems"> <label for="item3">Item 3</label> <br> <p>Checked items: {{checkedItems}}</p> </div> <script> new Vue({ el: '#app', data: { items: ['Item 1', 'Item 2', 'Item 3'], checkedItems: [], allChecked: false }, methods: { checkAll() { if (!this.allChecked) { this.checkedItems = this.items.slice(); } else { this.checkedItems = []; } } } }) </script>
Dans le code ci-dessus, nous définissons une variable allChecked pour la zone de sélection de tout afin de déterminer si tous sont sélectionnés. Dans la fonction checkAll, nous utilisons deux branches pour implémenter les fonctions de sélection de tout et de désélection de tout : lorsque toutes les options sont sélectionnées, la case de sélection totale est automatiquement cochée ; lorsqu'aucune option n'est sélectionnée, la case de sélection totale devient automatiquement désélectionnée ; .
La relation entre la case à cocher multi-sélection et la sélection de toutes les fonctions
Lors de la mise en œuvre de la case à cocher multi-sélection et de la sélection de toutes les fonctions dans Vue, nous devons prêter attention à un problème très important, à savoir : lors de la vérification de l'option enfant , le parent Impact des options.
Lorsque toutes les sous-options sont sélectionnées, l'option parent est automatiquement cochée ; lorsqu'il y a des sous-options non sélectionnées, l'option parent devient automatiquement décochée.
Afin d'implémenter cette fonction, nous pouvons mettre à jour dynamiquement l'état de la case entièrement sélectionnée en écoutant les modifications dans le tableau selectedItems. Le code spécifique est le suivant :
<div id="app"> <input type="checkbox" id="selectAll" v-model="allChecked" @change="checkAll"> <label for="selectAll">Select all</label> <br> <input type="checkbox" id="item1" value="item1" v-model="checkedItems" @change="checkParent"> <label for="item1">Item 1</label> <br> <input type="checkbox" id="item2" value="item2" v-model="checkedItems" @change="checkParent"> <label for="item2">Item 2</label> <br> <input type="checkbox" id="item3" value="item3" v-model="checkedItems" @change="checkParent"> <label for="item3">Item 3</label> <br> <p>Checked items: {{checkedItems}}</p> </div> <script> new Vue({ el: '#app', data: { items: ['Item 1', 'Item 2', 'Item 3'], checkedItems: [], allChecked: false }, methods: { checkAll() { if (!this.allChecked) { this.checkedItems = this.items.slice(); } else { this.checkedItems = []; } }, checkParent() { if (this.checkedItems.length === this.items.length) { this.allChecked = true; } else { this.allChecked = false; } } } }) </script>
Dans le code ci-dessus, nous avons configuré une fonction checkParent pour la sous-option et ajouté l'écoute d'événement @change dans v-model. Cette fonction est appelée lorsqu'une sous-option est modifiée. Dans la fonction checkParent, nous utilisons une instruction if-else pour déterminer si l'option parent doit être vérifiée.
Résumé
Dans Vue, la méthode d'implémentation consistant à cocher plusieurs cases de sélection et à toutes sélectionner est très simple, il suffit d'utiliser l'instruction v-model et la surveillance des événements @change. Cependant, lors de l'implémentation de l'impact sur l'option parent lorsque l'option enfant est cochée, nous devons surveiller les modifications dans le tableau selectedItems pour mettre à jour dynamiquement l'état de la case entièrement sélectionnée. Pour les débutants, cela peut prendre un certain temps à comprendre et à digérer. Cependant, tant que vous maîtrisez ce point de connaissance, il devient très simple de mettre en œuvre la case à cocher multi-sélection et de sélectionner toutes les fonctions.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!