Maison > Article > interface Web > Comment implémenter une liaison de liste déroulante à plusieurs niveaux dans le traitement des formulaires Vue
Comment implémenter une liaison de listes déroulantes à plusieurs niveaux dans le traitement des formulaires Vue
Lors du développement d'applications frontales, les formulaires sont l'un des composants indispensables. Dans les formulaires, les listes déroulantes, en tant que méthode de saisie de sélection courante, sont souvent utilisées pour mettre en œuvre une sélection à plusieurs niveaux. Cet article vous apprendra comment obtenir l'effet de liaison des listes déroulantes à plusieurs niveaux dans Vue.
Dans Vue, la liaison des listes déroulantes peut être facilement réalisée grâce à la liaison de données. Examinons d'abord un exemple simple. Supposons que nous ayons un sélecteur de ville. L'utilisateur doit d'abord sélectionner une province, puis sélectionner une ville en fonction de la province sélectionnée. Notre objectif est que lorsque l'utilisateur sélectionne une province, la liste déroulante des villes mettra automatiquement à jour la liste des villes correspondant à la province.
Tout d'abord, nous devons définir une liste de provinces et une liste de villes dans les données de l'instance Vue. Par exemple :
data() { return { provinces: ['江苏省', '浙江省', '广东省'], cities: { '江苏省': ['南京市', '苏州市', '无锡市'], '浙江省': ['杭州市', '宁波市', '温州市'], '广东省': ['广州市', '深圳市', '珠海市'] }, selectedProvince: '', selectedCity: '' } }
Ensuite, nous utilisons deux listes déroulantes dans le modèle pour afficher la sélection de provinces et de villes. Il convient de noter que nous avons lié un événement de changement à chaque liste déroulante, et lorsque l'utilisateur sélectionne une province, la méthode correspondante sera déclenchée pour mettre à jour la liste des villes.
<template> <div> <select v-model="selectedProvince" @change="updateCities"> <option v-for="province in provinces" :value="province">{{ province }}</option> </select> <select v-model="selectedCity"> <option v-for="city in cities[selectedProvince]" :value="city">{{ city }}</option> </select> </div> </template>
Notez que nous avons utilisé les villes[selectedProvince] dans la deuxième liste déroulante pour obtenir dynamiquement la liste des villes. De cette façon, lorsque l'utilisateur sélectionne une province différente, la liste des villes correspondantes sera mise à jour en conséquence.
Enfin, implémentons la méthode updateCities pour mettre à jour la liste des villes. Dans cette méthode, nous obtiendrons dynamiquement la liste de villes correspondante en fonction de la valeur de selectedProvince et l'attribuerons à selectedCity. Le code est le suivant :
methods: { updateCities() { this.selectedCity = ''; if (this.selectedProvince) { this.selectedCity = this.cities[this.selectedProvince][0]; } } }
Dans cette méthode, nous effaçons d'abord la valeur de selectedCity, puis déterminons si selectedProvince est vide. S'il n'est pas vide, nous obtenons la liste de villes correspondante via villes[selectedProvince] et attribuons la première valeur de la liste à selectedCity. Ceci termine la mise à jour de la liste des villes.
Jusqu'à présent, nous avons réussi à obtenir l'effet de liaison des listes déroulantes à plusieurs niveaux. Lorsque l'utilisateur sélectionne une province, la liste déroulante des villes se mettra automatiquement à jour avec la liste des villes correspondant à la province.
Pour résumer, pour implémenter une liaison de liste déroulante à plusieurs niveaux dans Vue, nous devons mettre à jour dynamiquement les options de la liste déroulante via la liaison de données. En écoutant l'événement de changement et en mettant à jour les données dans la méthode, nous pouvons facilement obtenir l'effet de liaison de la liste déroulante.
J'espère que cet article pourra vous aider à résoudre le problème de la réalisation d'une liaison de listes déroulantes à plusieurs niveaux dans le traitement des formulaires Vue. Si vous avez des questions, veuillez laisser un message pour discussion.
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!