当前位置:首页 > VUE

vue 实现简单表格

2026-01-18 06:09:07VUE

以下是在 Vue 中实现简单表格的几种方法:

使用原生表格标签

通过 Vue 的数据绑定功能渲染表格数据:

<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="(cell, cellIndex) in row" :key="cellIndex">{{ cell }}</td>
      </tr>
    </tbody>
  </table>
</template>

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

使用组件化方式

将表格拆分为可复用的组件:

<template>
  <my-table :headers="headers" :rows="rows"></my-table>
</template>

<script>
import MyTable from './MyTable.vue'

export default {
  components: { MyTable },
  data() {
    return {
      headers: ['姓名', '年龄'],
      rows: [
        { name: '王五', age: 28 },
        { name: '赵六', age: 35 }
      ]
    }
  }
}
</script>

添加交互功能

实现排序和筛选等常见表格功能:

<template>
  <table>
    <thead>
      <tr>
        <th @click="sortBy('name')">姓名</th>
        <th @click="sortBy('age')">年龄</th>
      </tr>
    </thead>
    <tbody>
      <tr v-for="item in sortedItems" :key="item.id">
        <td>{{ item.name }}</td>
        <td>{{ item.age }}</td>
      </tr>
    </tbody>
  </table>
</template>

<script>
export default {
  data() {
    return {
      items: [
        { id: 1, name: '张三', age: 25 },
        { id: 2, name: '李四', age: 30 }
      ],
      sortKey: '',
      sortOrder: 1
    }
  },
  computed: {
    sortedItems() {
      return [...this.items].sort((a, b) => {
        return (a[this.sortKey] > b[this.sortKey] ? 1 : -1) * this.sortOrder
      })
    }
  },
  methods: {
    sortBy(key) {
      this.sortOrder = this.sortKey === key ? -this.sortOrder : 1
      this.sortKey = key
    }
  }
}
</script>

使用第三方库

对于更复杂的需求,可以考虑使用专门的表格组件库:

  1. Element UI 的表格组件:

    <template>
    <el-table :data="tableData">
     <el-table-column prop="date" label="日期"></el-table-column>
     <el-table-column prop="name" label="姓名"></el-table-column>
    </el-table>
    </template>
  2. Vuetify 的数据表格:

    <template>
    <v-data-table :headers="headers" :items="items"></v-data-table>
    </template>

这些方法涵盖了从基础到进阶的表格实现方式,可以根据项目需求选择合适的方案。对于简单表格,原生实现足够;对于复杂需求,推荐使用成熟的UI库。

vue 实现简单表格

标签: 表格简单
分享给朋友:

相关文章

vue 实现表格单选

vue 实现表格单选

实现表格单选的方法 在Vue中实现表格单选功能可以通过多种方式完成,以下是几种常见的实现方法: 使用v-model绑定选中项 通过v-model绑定一个变量来记录当前选中的行数据。当用户点击某一行时…

css表格制作表格

css表格制作表格

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

css怎么制作表格

css怎么制作表格

使用HTML和CSS创建表格 HTML提供<table>标签用于创建表格结构,结合CSS可以自定义样式。以下是基本实现方法: HTML结构 <table> <th…

css表格的制作方法

css表格的制作方法

基础表格结构 使用<table>标签创建表格框架,<tr>定义行,<td>定义单元格: <table> <tr> <td…

制作css表格

制作css表格

基础CSS表格结构 使用HTML的<table>标签创建表格骨架,搭配CSS控制样式。以下是一个基础示例: <table class="styled-table"> &l…

vue增删改查简单实现

vue增删改查简单实现

Vue 增删改查简单实现 以下是一个基于 Vue 3 的简单增删改查(CRUD)实现示例,使用 Vue 的 Composition API 和响应式数据管理。 初始化项目 确保已安装 Vue…