当前位置:首页 > 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;
  }
}

使用组件化封装

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

vue实现纵向表格

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

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

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

相关文章

vue实现表格读取数据

vue实现表格读取数据

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

vue表格实现复选框

vue表格实现复选框

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

vue实现表格复选

vue实现表格复选

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

vue实现纵向轮播

vue实现纵向轮播

Vue 实现纵向轮播的方法 纵向轮播可以通过 Vue 的动态组件和 CSS 动画实现。以下是几种常见的实现方式: 使用 CSS 动画和 Vue 过渡 通过 Vue 的 <transition&…

vue 实现跨行表格

vue 实现跨行表格

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

vue表格实现导出

vue表格实现导出

使用 vue-json-excel 插件 安装插件: npm install vue-json-excel --save 在组件中引入并注册: import JsonExcel from 'vue…