VUE实现纵向动态表格

下面是一个简单的纵向动态表格示例:

复制代码
<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>名称</th>
          <th v-for="(item, index) in headers" :key="index">{{item}}</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(row, rowIndex) in tableData" :key="rowIndex">
          <td>{{row.name}}</td>
          <td v-for="(item, index) in headers" :key="index">
            <input type="text" v-model="row.data[index]">
          </td>
        </tr>
      </tbody>
    </table>
    <button @click="addRow">添加行</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      headers: ['列1', '列2', '列3'], // 表头
      tableData: [ // 表格内容(可以从后台获取)
        { name: '行1', data: [1, 2, 3] },
        { name: '行2', data: [4, 5, 6] },
        { name: '行3', data: [7, 8, 9] }
      ]
    }
  },
  methods: {
    addRow() { // 添加一行
      this.tableData.push({ name: '新行', data: ['', '', ''] })
    }
  }
}
</script>

在这个示例中,我们使用了一个包含表头和表格内容的数据模型。表格内容是一个数组,其中每个元素都是一个对象,它有一个名称和一个数据数组,数据数组中包含每一列的值。我们使用v-for指令来动态地将表头和表格内容呈现为表格。

我们还为表格添加了一个"添加行"按钮,当它被点击时,我们将向tableData数组中添加一个新行。注意,我们为新行设置了空的数据数组,这样新增行中的每一列都将是空的文本框。

相关推荐
天外天-亮5 分钟前
HBuilder X 使用 uview-plus 方式
开发语言·javascript·hbuilder x·uview-plus
huashengzsj12 分钟前
Shopify个人建站如何搭建独立站:从零开始的完整指南
前端·网络·人工智能
程序猿小泓23 分钟前
从 Claude Code 学 Agent Harness:一个前端工程师的 AI Agent 学习笔记
前端·人工智能·学习
柒和远方1 小时前
从审计日志到可下载证据包:事务型 Outbox、租约 fencing 与保留水位
前端·后端·架构
卓怡学长1 小时前
w266基于spring boot + vue 圣地延安美食乐享系统
java·数据库·vue.js·spring boot·spring·intellij-idea
minglie11 小时前
npm ali-oss库依赖冲突
前端·npm
CryptoPP2 小时前
BSE股票K线数据接入实战:从接口调用到前端图表展示
大数据·前端·网络·人工智能·websocket·网络协议
Random_index3 小时前
#Vue3篇: Vue 项目发版后如何提示用户刷新?基于 package.json 版本号的前端更新检测方案
前端·vue.js·json
没落英雄4 小时前
5. 从零开始搭建一个 AI Agent —— 人机协作与中断恢复
前端·人工智能·架构
品尚公益团队4 小时前
C#在asp.net网页开发中的带cookie登录实现
前端·c#·asp.net