当前位置:首页 > VUE

vue实现列表

2026-03-27 22:48:12VUE

基础列表渲染

使用 v-for 指令实现动态列表渲染,绑定数组数据:

vue实现列表

<template>
  <ul>
    <li v-for="(item, index) in items" :key="index">
      {{ item.name }}
    </li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
      items: [
        { name: 'Item 1' },
        { name: 'Item 2' },
        { name: 'Item 3' }
      ]
    };
  }
};
</script>
  • :key 是必须的,推荐使用唯一标识符(如 id 而非 index)。

条件渲染与列表结合

通过 v-ifv-show 控制列表项的显示:

vue实现列表

<template>
  <ul>
    <li v-for="item in filteredItems" :key="item.id" v-if="item.isActive">
      {{ item.name }}
    </li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
      items: [
        { id: 1, name: 'Item 1', isActive: true },
        { id: 2, name: 'Item 2', isActive: false }
      ]
    };
  },
  computed: {
    filteredItems() {
      return this.items.filter(item => item.isActive);
    }
  }
};
</script>

列表事件处理

绑定点击事件或自定义方法操作列表项:

<template>
  <ul>
    <li 
      v-for="item in items" 
      :key="item.id" 
      @click="handleClick(item)"
    >
      {{ item.name }}
    </li>
  </ul>
</template>

<script>
export default {
  methods: {
    handleClick(item) {
      console.log('Clicked:', item.name);
    }
  }
};
</script>

动态列表更新

通过数组方法(如 pushsplice)或响应式 API 更新列表:

// 添加新项
this.items.push({ id: 4, name: 'Item 4' });

// 删除项
this.items.splice(index, 1);

// 使用 Vue.set 确保响应式更新(针对非响应式属性)
Vue.set(this.items, index, newItem);

性能优化

  • 对于长列表,使用 vue-virtual-scroller 实现虚拟滚动。
  • 避免在模板内使用复杂计算,优先使用 computed 属性。
<template>
  <ul>
    <li v-for="item in computedList" :key="item.id">
      {{ heavyProcessing(item) }}
    </li>
  </ul>
</template>

<script>
export default {
  computed: {
    computedList() {
      return this.items.filter(/* 复杂逻辑 */);
    }
  }
};
</script>

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

相关文章

vue实现a4打印模板

vue实现a4打印模板

使用Vue实现A4打印模板 在Vue中实现A4打印模板需要结合CSS的打印样式和Vue的模板渲染能力。以下是具体实现方法: 设置A4纸张尺寸 在CSS中定义A4纸张的标准尺寸(210mm × 297…

vue 实现脚本

vue 实现脚本

Vue 实现脚本的方法 Vue.js 提供了多种方式来实现脚本功能,包括组件内脚本、混入(Mixins)、插件(Plugins)以及自定义指令等。以下是常见的实现方式: 组件内脚本 在 Vue 单文…

js 实现vue

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.define…

vue实现微云

vue实现微云

Vue 实现微云功能 使用 Vue 实现类似微云的网盘功能需要结合前端框架、后端存储及文件处理技术。以下是关键实现步骤和代码示例: 前端框架搭建 使用 Vue CLI 创建项目基础结构,安装必要依赖…

vue导航实现

vue导航实现

Vue 导航实现方法 在 Vue 中实现导航功能通常涉及路由配置、组件设计和状态管理。以下是几种常见的实现方式: 使用 Vue Router 实现基础导航 安装 Vue Router: npm i…

vue实现单击

vue实现单击

Vue 实现单击事件的方法 在 Vue 中实现单击事件可以通过 v-on 指令或简写的 @ 符号绑定事件处理器。以下是几种常见的实现方式: 基础用法 通过 v-on:click 或 @click 绑…