当前位置:首页 > VUE

vue横纵表格实现

2026-02-21 09:32:01VUE

Vue 横向与纵向表格实现

横向表格(常规表格)

横向表格是最常见的表格形式,数据按行展示。在 Vue 中可以通过 v-for 动态渲染表格内容。

<template>
  <table>
    <thead>
      <tr>
        <th v-for="header in headers" :key="header">{{ header }}</th>
      </tr>
    </thead>
    <tbody>
      <tr v-for="row in rows" :key="row.id">
        <td v-for="header in headers" :key="header">{{ row[header] }}</td>
      </tr>
    </tbody>
  </table>
</template>

<script>
export default {
  data() {
    return {
      headers: ['ID', 'Name', 'Age'],
      rows: [
        { id: 1, Name: 'Alice', Age: 25 },
        { id: 2, Name: 'Bob', Age: 30 }
      ]
    }
  }
}
</script>

纵向表格(转置表格)

纵向表格将表头和数据列互换显示,适用于字段较少但数据项较多的场景。

<template>
  <table>
    <tr v-for="header in headers" :key="header">
      <th>{{ header }}</th>
      <td v-for="row in rows" :key="row.id">{{ row[header] }}</td>
    </tr>
  </table>
</template>

<script>
export default {
  data() {
    return {
      headers: ['ID', 'Name', 'Age'],
      rows: [
        { id: 1, Name: 'Alice', Age: 25 },
        { id: 2, Name: 'Bob', Age: 30 }
      ]
    }
  }
}
</script>

使用组件库实现

对于更复杂的表格需求,可以使用现成的 UI 组件库:

  1. Element UI 表格组件

    <el-table :data="rows">
    <el-table-column prop="id" label="ID"></el-table-column>
    <el-table-column prop="Name" label="Name"></el-table-column>
    <el-table-column prop="Age" label="Age"></el-table-column>
    </el-table>
  2. Vuetify 数据表格

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

响应式表格处理

当表格内容过多时,可以添加滚动条或分页功能:

<div style="overflow-x: auto;">
  <table>...</table>
</div>

<!-- 或者使用分页 -->
<el-pagination
  @size-change="handleSizeChange"
  @current-change="handleCurrentChange"
  :current-page="currentPage"
  :page-sizes="[10, 20, 50]"
  :page-size="pageSize"
  layout="total, sizes, prev, pager, next, jumper"
  :total="totalItems">
</el-pagination>

表格样式优化

通过 CSS 可以增强表格的可读性和美观度:

vue横纵表格实现

table {
  border-collapse: collapse;
  width: 100%;
}
th, td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}
th {
  background-color: #f2f2f2;
}
tr:nth-child(even) {
  background-color: #f9f9f9;
}

以上方法涵盖了 Vue 中实现横向和纵向表格的基本方案,可以根据实际需求选择合适的实现方式。对于复杂场景,建议使用成熟的 UI 组件库以节省开发时间。

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

相关文章

vue实现文字播放栏

vue实现文字播放栏

Vue 实现文字播放栏(跑马灯效果) 方法一:使用 CSS 动画 + Vue 数据绑定 通过 CSS 的 @keyframes 实现动画效果,结合 Vue 的动态数据绑定控制内容。 <tem…

vue设计与实现目录

vue设计与实现目录

以下是《Vue设计与实现》一书的典型目录结构(根据常见技术书籍及Vue核心内容整理): 响应式系统 响应式数据的基本原理 依赖收集与触发更新 实现简易响应式系统 Proxy与Reflec…

vue表格实现复选框

vue表格实现复选框

vue表格实现复选框 在Vue中实现表格复选框功能,可以通过以下方法完成: 方法一:使用el-table(Element UI) 安装Element UI后,在表格列中直接添加type="sele…

简单实现vue

简单实现vue

Vue 的基本实现 创建一个简单的 Vue 应用需要引入 Vue 库,并编写基本的模板和数据绑定逻辑。 <!DOCTYPE html> <html lang="en"> &l…

vue实现定时

vue实现定时

Vue 实现定时功能的方法 使用 setInterval 和 clearInterval 在 Vue 中可以通过 setInterval 和 clearInterval 实现定时功能。在组件的 mou…

vue实现影院

vue实现影院

Vue实现影院功能的基本思路 使用Vue框架开发影院功能需要结合前端组件化开发、状态管理以及后端API交互。以下是关键实现步骤: 影院页面布局设计 影院页面通常分为顶部导航栏、影院列表区域和底部导航…