当前位置:首页 > VUE

vue实现表格数据增删

2026-03-26 23:48:19VUE

Vue 实现表格数据增删的方法

数据绑定与渲染

在Vue中,表格数据通常通过v-for指令动态渲染。定义一个数组tableData存储表格数据,使用v-for循环渲染每一行。

vue实现表格数据增删

<template>
  <table>
    <thead>
      <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Action</th>
      </tr>
    </thead>
    <tbody>
      <tr v-for="(item, index) in tableData" :key="item.id">
        <td>{{ item.id }}</td>
        <td>{{ item.name }}</td>
        <td>
          <button @click="deleteRow(index)">Delete</button>
        </td>
      </tr>
    </tbody>
  </table>
  <button @click="addRow">Add Row</button>
</template>

新增数据

通过push方法向tableData中添加新数据。新增的数据可以来自表单输入或固定值。

vue实现表格数据增删

<script>
export default {
  data() {
    return {
      tableData: [
        { id: 1, name: 'Alice' },
        { id: 2, name: 'Bob' }
      ],
      nextId: 3
    };
  },
  methods: {
    addRow() {
      this.tableData.push({
        id: this.nextId++,
        name: `New User ${this.nextId}`
      });
    }
  }
};
</script>

删除数据

使用splice方法根据索引删除指定行数据。通过传递index参数定位要删除的行。

methods: {
  deleteRow(index) {
    this.tableData.splice(index, 1);
  }
}

完整示例

结合新增和删除功能,以下是一个完整的Vue组件示例:

<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>ID</th>
          <th>Name</th>
          <th>Action</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(item, index) in tableData" :key="item.id">
          <td>{{ item.id }}</td>
          <td>{{ item.name }}</td>
          <td>
            <button @click="deleteRow(index)">Delete</button>
          </td>
        </tr>
      </tbody>
    </table>
    <button @click="addRow">Add Row</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { id: 1, name: 'Alice' },
        { id: 2, name: 'Bob' }
      ],
      nextId: 3
    };
  },
  methods: {
    addRow() {
      this.tableData.push({
        id: this.nextId++,
        name: `New User ${this.nextId}`
      });
    },
    deleteRow(index) {
      this.tableData.splice(index, 1);
    }
  }
};
</script>

注意事项

  • 唯一键值:确保v-for中的:key使用唯一标识(如id),避免渲染性能问题。
  • 响应式更新:Vue会自动检测数组变化并更新DOM,直接使用pushsplice等方法即可。
  • 表单输入:如需通过表单输入新增数据,可通过v-model绑定输入框值,再添加到tableData中。

标签: 表格数据
分享给朋友:

相关文章

vue 表格实现

vue 表格实现

Vue 表格实现方法 基础表格实现 使用 el-table 组件(Element UI)实现基础表格: <template> <el-table :data="tableDat…

vue数据劫持实现

vue数据劫持实现

Vue 数据劫持实现原理 Vue 的数据劫持主要通过 Object.defineProperty 或 Proxy 实现,用于监听对象属性的变化并触发更新。以下是核心实现方式: 基于 Object.d…

vue 实现跨行表格

vue 实现跨行表格

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

vue实现表格修改

vue实现表格修改

Vue 实现表格修改的方法 使用 v-model 绑定数据 在 Vue 中可以通过 v-model 实现双向数据绑定,适用于表格单元格的编辑。 为表格的每个单元格绑定 v-model,动态修改数据。…

Vue数据绑定实现

Vue数据绑定实现

Vue 数据绑定的核心机制 Vue 的数据绑定基于响应式系统,通过 Object.defineProperty 或 Proxy 实现。当数据变化时,视图自动更新。 双向绑定的实现方式 v-model…

vue实现表格选择

vue实现表格选择

Vue 实现表格选择功能 在 Vue 中实现表格选择功能可以通过多种方式完成,常见的方法包括使用复选框、单选框或通过点击行高亮选中。以下是几种常见的实现方式。 使用复选框实现多选 在表格的每一行添加…