当前位置:首页 > VUE

vue实现列表分类

2026-02-17 09:41:15VUE

Vue实现列表分类的方法

使用计算属性分类

通过计算属性对原始列表数据进行分类处理,返回分组后的数据。这种方法适用于静态或少量数据分类。

computed: {
  categorizedList() {
    const categories = {};
    this.originalList.forEach(item => {
      if (!categories[item.category]) {
        categories[item.category] = [];
      }
      categories[item.category].push(item);
    });
    return categories;
  }
}

使用v-for嵌套渲染

在模板中使用嵌套的v-for指令,先遍历分类,再遍历该分类下的项目。

vue实现列表分类

<div v-for="(items, category) in categorizedList" :key="category">
  <h3>{{ category }}</h3>
  <ul>
    <li v-for="item in items" :key="item.id">
      {{ item.name }}
    </li>
  </ul>
</div>

动态分类筛选

结合输入框实现动态分类筛选功能,根据用户输入实时更新分类结果。

vue实现列表分类

data() {
  return {
    searchQuery: '',
    originalList: [...]
  }
},
computed: {
  filteredList() {
    return this.originalList.filter(item => 
      item.category.toLowerCase().includes(this.searchQuery.toLowerCase())
    )
  }
}

使用第三方库

对于复杂分类需求,可以考虑使用lodash的groupBy等方法简化分类逻辑。

import _ from 'lodash';

computed: {
  groupedList() {
    return _.groupBy(this.originalList, 'category');
  }
}

分类与排序结合

在分类的同时对每个分类下的项目进行排序,提升用户体验。

computed: {
  sortedCategories() {
    const grouped = _.groupBy(this.originalList, 'category');
    Object.keys(grouped).forEach(category => {
      grouped[category].sort((a, b) => a.name.localeCompare(b.name));
    });
    return grouped;
  }
}

标签: 列表vue
分享给朋友:

相关文章

vue实现骰子

vue实现骰子

Vue 实现骰子功能 创建 Vue 组件 在 Vue 项目中创建一个骰子组件,例如 Dice.vue。该组件包含骰子的外观和逻辑。 <template> <div class=…

vue实现fullpage

vue实现fullpage

Vue 实现 FullPage 效果 在 Vue 中实现全屏滚动(FullPage)效果可以通过多种方式完成,以下是几种常见的方法: 使用现有库 vue-fullpage.js 安装 vue-ful…

vue 实现流程

vue 实现流程

Vue 实现流程 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是 Vue 实现的基本流程: 安装 Vue.js 通过 CDN 引入或使用 npm/yarn 安装:…

vue实现通讯

vue实现通讯

Vue 组件通讯方法 父子组件通讯 父组件向子组件传递数据通过 props,子组件向父组件传递数据通过 $emit 事件。 父组件模板: <child-component :message=…

vue模版实现

vue模版实现

Vue 模板实现方法 Vue 模板是 Vue.js 的核心特性之一,用于声明式地将 DOM 绑定至底层 Vue 实例的数据。以下是几种常见的 Vue 模板实现方式: 单文件组件(SFC) 使用 .v…

vue实现分站

vue实现分站

Vue 实现分站的方案 在 Vue 中实现分站功能通常涉及路由配置、环境变量管理和动态加载资源。以下是几种常见的实现方式: 基于路由的分站实现 通过 Vue Router 配置多路由,区分不同站点的…