当前位置:首页 > VUE

vue实现纵向表格

2026-02-20 14:39:19VUE

实现纵向表格的基本思路

纵向表格即表头在左侧、数据向右展开的布局,可通过调整HTML结构和CSS样式实现。Vue中结合动态数据绑定可高效完成此类需求。

基础HTML结构

使用<table>标签构建,通过v-for循环生成行列。关键是将表头作为第一列而非第一行:

<table class="vertical-table">
  <tr v-for="(row, index) in tableData" :key="index">
    <th>{{ row.header }}</th>
    <td v-for="(cell, cellIndex) in row.data" :key="cellIndex">
      {{ cell }}
    </td>
  </tr>
</table>

Vue数据示例

数据格式应为对象数组,每个对象包含表头字段和数据数组:

data() {
  return {
    tableData: [
      { header: '姓名', data: ['张三', '李四', '王五'] },
      { header: '年龄', data: [25, 30, 28] },
      { header: '职业', data: ['工程师', '设计师', '产品经理'] }
    ]
  }
}

关键CSS样式

通过CSS控制表格方向,注意边框和对齐方式:

.vertical-table {
  border-collapse: collapse;
  width: auto;
}
.vertical-table th {
  background-color: #f5f5f5;
  text-align: right;
  padding: 8px 12px;
  border: 1px solid #ddd;
}
.vertical-table td {
  padding: 8px 12px;
  border: 1px solid #ddd;
}

动态列扩展方案

当需要动态增加列时,可通过方法更新数据:

methods: {
  addColumn() {
    this.tableData.forEach(row => {
      row.data.push('新数据');
    });
  }
}

响应式适配

结合媒体查询实现移动端适配:

@media (max-width: 768px) {
  .vertical-table {
    display: block;
  }
  .vertical-table tr {
    display: flex;
    flex-direction: column;
  }
}

使用组件化封装

对于复杂场景,可封装为可复用组件:

<template>
  <div>
    <slot name="header"></slot>
    <table class="vertical-table">
      <!-- 表格内容 -->
    </table>
  </div>
</template>

<script>
export default {
  props: ['rows'],
  // 组件逻辑
}
</script>

vue实现纵向表格

标签: 纵向表格
分享给朋友:

相关文章

css制作三行三列表格

css制作三行三列表格

使用HTML和CSS创建三行三列表格 通过HTML的<table>标签结合CSS样式可以轻松实现三行三列的表格结构。 <table class="three-by-three"&g…

vue实现表格读取数据

vue实现表格读取数据

Vue 实现表格数据读取 在 Vue 中实现表格数据读取通常涉及以下关键步骤: 数据绑定与表格渲染 通过 v-for 指令动态渲染表格行,数据通常存储在组件的 data 或 Vuex 状态中:…

vue实现表格多行修改

vue实现表格多行修改

实现表格多行修改的方法 数据绑定与表格渲染 使用v-model绑定表格数据到Vue实例的data属性。通过v-for循环渲染表格行,并为每行数据添加编辑状态标识。 <template>…

vue表格实现复选框

vue表格实现复选框

Vue表格实现复选框的方法 基础实现(使用v-model绑定数组) 在Vue中可以通过v-model绑定数组来实现复选框功能。以下是一个基础示例: <template> <t…

h5实现表格样式

h5实现表格样式

实现H5表格样式的方法 使用HTML和CSS创建基础表格 在HTML中,表格通过<table>标签定义,配合<tr>(行)、<td>(单元格)和<th&g…

vue实现导出表格

vue实现导出表格

Vue 实现导出表格的方法 使用 xlsx 库导出 Excel 安装 xlsx 库 npm install xlsx 在 Vue 组件中引入 xlsx import * as XLSX from…