当前位置:首页 > VUE

vue实现动态表格

2026-02-20 10:51:06VUE

Vue 动态表格实现方法

基础表格结构

使用 v-for 指令循环渲染表格行,数据绑定到数组:

<template>
  <table>
    <thead>
      <tr>
        <th v-for="header in headers" :key="header">{{ header }}</th>
      </tr>
    </thead>
    <tbody>
      <tr v-for="(row, index) in rows" :key="index">
        <td v-for="(value, key) in row" :key="key">{{ value }}</td>
      </tr>
    </tbody>
  </table>
</template>

<script>
export default {
  data() {
    return {
      headers: ['姓名', '年龄', '职业'],
      rows: [
        { 姓名: '张三', 年龄: 25, 职业: '工程师' },
        { 姓名: '李四', 年龄: 30, 职业: '设计师' }
      ]
    }
  }
}
</script>

动态添加/删除行

通过数组方法操作数据实现动态更新:

methods: {
  addRow() {
    this.rows.push({ 姓名: '', 年龄: 0, 职业: '' })
  },
  removeRow(index) {
    this.rows.splice(index, 1)
  }
}

可编辑单元格

结合 v-model 实现单元格编辑功能:

<td v-for="(value, key) in row" :key="key">
  <input v-model="row[key]" type="text">
</td>

动态表头配置

支持表头动态配置和自定义渲染:

vue实现动态表格

data() {
  return {
    headers: [
      { prop: 'name', label: '姓名' },
      { prop: 'age', label: '年龄', render: (h, { row }) => h('span', row.age + '岁') }
    ]
  }
}

使用计算属性处理数据

对表格数据进行过滤或排序:

computed: {
  filteredRows() {
    return this.rows.filter(row => row.age > 20)
  }
}

组件化实现

将表格封装为可复用组件:

vue实现动态表格

<template>
  <dynamic-table :data="tableData" :columns="columns" />
</template>

服务端数据加载

结合 axios 实现异步数据加载:

async created() {
  try {
    const res = await axios.get('/api/data')
    this.rows = res.data
  } catch (error) {
    console.error(error)
  }
}

性能优化

对于大数据量表格使用虚拟滚动:

<virtual-scroller :items="rows" item-height="50">
  <template v-slot="{ item }">
    <tr>
      <td>{{ item.name }}</td>
      <td>{{ item.age }}</td>
    </tr>
  </template>
</virtual-scroller>

第三方库集成

使用 Element UI 等现成组件库:

<el-table :data="tableData">
  <el-table-column prop="date" label="日期"></el-table-column>
  <el-table-column prop="name" label="姓名"></el-table-column>
</el-table>

标签: 表格动态
分享给朋友:

相关文章

css表格制作表格

css表格制作表格

CSS 表格制作方法 使用 CSS 创建表格可以通过多种方式实现,包括原生 HTML 表格元素结合 CSS 样式,或者使用纯 CSS 布局技术(如 Flexbox 或 Grid)模拟表格效果。以下是常…

vue实现动态配置地址

vue实现动态配置地址

动态配置地址的实现方法 在Vue项目中实现动态配置地址可以通过环境变量、API请求或配置文件等方式完成。以下是几种常见方法: 使用环境变量 创建.env文件存储基础URL,不同环境使用不同文件:…

vue实现表格复选

vue实现表格复选

实现表格复选的基本思路 在Vue中实现表格复选功能,通常需要结合v-model绑定选中状态,监听复选框变化事件,以及维护一个选中项的数组。以下是具体实现方法: 基础实现步骤 数据准备 定义表格数据和…

vue 实现动态路由

vue 实现动态路由

动态路由的实现方法 Vue中实现动态路由通常涉及以下关键步骤,结合Vue Router的API和异步加载逻辑完成。 基础配置 安装Vue Router并初始化路由实例。在router/index.j…

使用vue实现表格

使用vue实现表格

使用 Vue 实现表格 Vue.js 提供了灵活的方式来实现表格功能,可以通过组合 v-for 指令和动态数据绑定快速构建表格。以下是几种常见的实现方法: 基础表格实现 通过 v-for 遍历数组数…

vue表格实现单选

vue表格实现单选

实现 Vue 表格单选功能 使用 v-model 绑定选中状态 在表格的每一行添加单选按钮或点击行触发选中,通过 v-model 绑定一个变量存储当前选中行的唯一标识(如 id)。 示例代码: &l…