当前位置:首页 > VUE

vue实现简单表格

2026-02-11 06:04:29VUE

Vue 实现简单表格的方法

使用原生 HTML 表格结构

在 Vue 模板中直接使用 HTML 的 <table> 标签结构,结合 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="(value, key) in row" :key="key">{{ value }}</td>
      </tr>
    </tbody>
  </table>
</template>

<script>
export default {
  data() {
    return {
      headers: ['姓名', '年龄', '城市'],
      rows: [
        { 姓名: '张三', 年龄: 25, 城市: '北京' },
        { 姓名: '李四', 年龄: 30, 城市: '上海' }
      ]
    }
  }
}
</script>

使用第三方组件库(如 Element UI)

通过 Element UI 的 el-table 组件快速实现功能丰富的表格。

vue实现简单表格

<template>
  <el-table :data="tableData">
    <el-table-column prop="name" label="姓名"></el-table-column>
    <el-table-column prop="age" label="年龄"></el-table-column>
    <el-table-column prop="city" label="城市"></el-table-column>
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { name: '张三', age: 25, city: '北京' },
        { name: '李四', age: 30, city: '上海' }
      ]
    }
  }
}
</script>

动态绑定样式

通过 Vue 的 class 和 style 绑定实现表格行的条件样式。

vue实现简单表格

<template>
  <table>
    <tr v-for="(item, index) in items" :key="index" 
        :class="{ 'highlight': item.highlight }">
      <td>{{ item.name }}</td>
      <td>{{ item.value }}</td>
    </tr>
  </table>
</template>

<style>
.highlight {
  background-color: yellow;
}
</style>

添加交互功能

结合 Vue 的事件处理实现表格行点击等交互。

<template>
  <table>
    <tr v-for="(item, index) in items" :key="index" 
        @click="handleClick(item)">
      <td>{{ item.name }}</td>
      <td>{{ item.value }}</td>
    </tr>
  </table>
</template>

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

分页功能实现

通过计算属性实现表格数据的分页显示。

<template>
  <table>
    <tr v-for="(item, index) in paginatedItems" :key="index">
      <td>{{ item.name }}</td>
      <td>{{ item.value }}</td>
    </tr>
  </table>
  <button @click="prevPage">上一页</button>
  <button @click="nextPage">下一页</button>
</template>

<script>
export default {
  data() {
    return {
      currentPage: 1,
      pageSize: 5
    }
  },
  computed: {
    paginatedItems() {
      const start = (this.currentPage - 1) * this.pageSize;
      return this.items.slice(start, start + this.pageSize);
    }
  },
  methods: {
    prevPage() { if (this.currentPage > 1) this.currentPage--; },
    nextPage() { this.currentPage++; }
  }
}
</script>

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

相关文章

vue实现导出表格

vue实现导出表格

Vue 中实现表格导出 使用 xlsx 库导出 Excel 安装 xlsx 库: npm install xlsx --save 在 Vue 组件中引入并使用: import XLSX from…

制作css表格

制作css表格

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

vue 实现跨行表格

vue 实现跨行表格

实现跨行表格的方法 在Vue中实现跨行表格可以通过多种方式完成,以下是几种常见的方法: 使用HTML原生表格 HTML原生表格支持rowspan属性,可以直接在Vue模板中使用: <tabl…

vue实现表格树

vue实现表格树

Vue 实现表格树的方法 使用递归组件实现树形表格 在 Vue 中可以通过递归组件实现树形表格结构。定义一个组件,该组件可以调用自身来渲染子节点。 <template> <ta…

css表格的制作方法

css表格的制作方法

表格基础结构 使用HTML的<table>标签创建表格框架,搭配<tr>定义行,<td>定义单元格。例如: <table> <tr>…

vue实现横向表格

vue实现横向表格

横向表格的实现方法 在Vue中实现横向表格,可以通过调整CSS样式和数据结构来实现。横向表格与常规表格的区别在于数据的展示方向,通常需要将表头和数据行进行转置。 使用CSS Flex布局 通过Fle…