How to implement grouped lists in Vue
Vue is a progressive JavaScript framework for building user interfaces. With its simplicity and ease of use, Vue has become a popular choice in front-end development. In actual development, we often need to classify and group data and display it in list form on the interface. This article will introduce how to implement grouped lists in Vue and provide specific code examples for reference.
First, we need to prepare some test data to show the effect of the grouped list. Suppose we have a list of students, each student contains two attributes: name and class. Our goal is to group students by class, placing students in the same class within the same group.
data() { return { students: [ { name: '张三', class: '一年级一班' }, { name: '李四', class: '一年级一班' }, { name: '王五', class: '一年级二班' }, { name: '赵六', class: '一年级二班' }, { name: '钱七', class: '二年级一班' }, { name: '孙八', class: '二年级二班' }, // 其他学生... ], groups: {} // 用于存放分组后的数据 } }
Next, we need to write code to group the student list by class. Group the data in Vue's mounted
life cycle hook function, and store the results in the groups
object.
mounted() { this.groupStudents(); }, methods: { groupStudents() { this.students.forEach(student => { if (!this.groups[student.class]) { this.groups[student.class] = []; } this.groups[student.class].push(student); }); } }
In the process of grouping processing, we use the forEach
method to traverse the student list and group them according to class. If the group of a certain class has not been created yet, create an empty array, and then add the student to the array of the corresponding class.
Finally, we display the grouped list effect by traversing the grouped data. Use the v-for
command to traverse the key-value pairs of the groups
object, use the class as the title, and display the corresponding student array as the list content.
<template> <div> <div v-for="(students, class) in groups" :key="class"> <h2>{{ class }}</h2> <ul> <li v-for="student in students" :key="student.name">{{ student.name }}</li> </ul> </div> </div> </template>
In the above code, we use two nested v-for
instructions. The first layer traverses the key-value pairs of the grouped data, and the second layer traverses the corresponding class student array. And use :key
to bind the student's unique identification attribute to improve rendering efficiency.
At this point, we have completed the process of implementing grouped lists in Vue. Now, we can display the grouped student list in the Vue application and present it in the form of groups.
Summary
This article introduces how to implement grouped lists in Vue and provides specific code examples. Through the three steps of data preparation, grouping processing and list display, we can easily implement the grouped list function.
I hope this article can help you and give you some reference when you encounter problems with grouped lists in Vue development. I wish you success with your Vue projects!
The above is the detailed content of How to implement grouped lists in Vue. For more information, please follow other related articles on the PHP Chinese website!