Ci-dessous, je partagerai avec vous un article sur la façon d'utiliser vue.js pour modifier l'état sélectionné. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde.
Après avoir utilisé le prototype pour modifier l'état non sélectionné, je suis entré en contact avec vue et je me suis demandé si je pouvais utiliser vue pour implémenter la fonction. La page de l'article précédent n'implémentait pas dynamiquement la page, et tout le reste. les données ne l'étaient pas. Ils sont tous écrits directement en HTML. Après avoir utilisé vue, il a été possible de générer dynamiquement des pages en fonction de la quantité de données. Et la quantité de code est également considérablement réduite.
Code de pièce HTML :
<p data-role="page " class="page "> <p class="center " id="app"> <p class="group "> <ul> <li v-for = "todo in todos "> <p class="groupheader "> <p class="Gheadertext ">{{todo.groupheader}}</p> </p> <p class = "groupbody "> <ul class="list "> <li v-for="cell in todo.groupbody" v-on:click="exchange($event)" class="groupcell"> <p class="celltext"> {{ cell.text }} </p> <img class="selectimg" src="img/select.png "> </li> </ul> </p> </li> </ul> </p> </p> </p>
Code de données :
var datas = { todos :[ { groupheader : 'MB3101', groupbody:[ { text: '调整不当'}, { text: '光电开关损坏' }, { text: '镜面积灰' }, { text: '调整不当' }, { text: '光电开关损坏' }, { text: '镜面积灰' }, { text: '调整不当' }, { text: '光电开关损坏' }, { text: '镜面积灰' }, ] }, { groupheader : 'MB3102', groupbody:[ { text: '调整不当' }, { text: '光电开关损坏' }, { text: '镜面积灰' }, { text: '调整不当' }, { text: '光电开关损坏' }, { text: '镜面积灰' }, { text: '调整不当' }, { text: '光电开关损坏' }, { text: '镜面积灰' }, ] }, { groupheader : 'MB3103', groupbody:[ { text: '调整不当' }, { text: '光电开关损坏' }, { text: '镜面积灰' }, { text: '调整不当' }, { text: '光电开关损坏' }, { text: '镜面积灰' }, { text: '调整不当' }, { text: '光电开关损坏' }, { text: '镜面积灰' }, ] } ] }
Le code de la partie js :
new Vue({ el: '#app', data:datas, methods:{ exchange:function(event){ //获取被点击的元素对象 var a = event.target; //获取被点击元素中的子元素<img> var cellimg = a.getElementsByTagName("img")[0]; if(a.className == "groupcell") { a.className = "selectcell"; cellimg.style.display = "block"; } else if(a.className == "selectcell") { a.className = "groupcell"; cellimg.style.display = "none"; } } } })
L'effet est tel que montré sur l'image :
J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.
Articles associés :
Comment utiliser les références dans les composants React
Problèmes inter-domaines de ProxyTable dans le projet vue-cli
Serveur de requêtes de builds express
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!