当前位置:首页 > VUE

vue实现表格数据录入

2026-02-22 10:56:28VUE

Vue 表格数据录入实现方法

基础表格数据绑定 使用 v-model 实现双向数据绑定是最简单的方式。在表格中为每个输入框绑定到数组的对应属性:

<table>
  <tr v-for="(item, index) in tableData" :key="index">
    <td><input v-model="item.name" type="text"></td>
    <td><input v-model="item.age" type="number"></td>
  </tr>
</table>
data() {
  return {
    tableData: [
      { name: '', age: null },
      { name: '', age: null }
    ]
  }
}

动态添加/删除行 通过数组方法实现行的增删操作:

methods: {
  addRow() {
    this.tableData.push({ name: '', age: null })
  },
  removeRow(index) {
    this.tableData.splice(index, 1)
  }
}

表单验证 使用计算属性或第三方库如 VeeValidate 进行验证:

computed: {
  isValid() {
    return this.tableData.every(item => 
      item.name && !isNaN(item.age)
    )
  }
}

数据提交处理 通过 AJAX 或 axios 提交数据:

vue实现表格数据录入

methods: {
  submitData() {
    if(this.isValid) {
      axios.post('/api/save', this.tableData)
        .then(response => {
          console.log('保存成功')
        })
    }
  }
}

高级功能实现

使用组件化表格 创建可复用的表格组件:

<template>
  <table>
    <slot name="header"></slot>
    <tr v-for="(row, index) in rows" :key="index">
      <slot :row="row" :index="index"></slot>
    </tr>
  </table>
</template>

实时保存功能 添加防抖函数避免频繁请求:

vue实现表格数据录入

import _ from 'lodash'
methods: {
  autoSave: _.debounce(function() {
    this.submitData()
  }, 1000)
}

Excel 导入导出 使用 xlsx 库实现:

import XLSX from 'xlsx'
methods: {
  exportExcel() {
    const ws = XLSX.utils.json_to_sheet(this.tableData)
    const wb = XLSX.utils.book_new()
    XLSX.utils.book_append_sheet(wb, ws, "Sheet1")
    XLSX.writeFile(wb, "tableData.xlsx")
  }
}

性能优化建议

对于大型表格使用虚拟滚动:

<virtual-scroller :items="tableData" item-height="50">
  <template v-slot="{ item }">
    <tr>
      <td><input v-model="item.name"></td>
      <td><input v-model="item.age"></td>
    </tr>
  </template>
</virtual-scroller>

使用 Vuex 管理状态:

export default {
  computed: {
    tableData() {
      return this.$store.state.table.data
    }
  }
}

分享给朋友:

相关文章

uniapp 表格导入

uniapp 表格导入

uniapp 表格导入的实现方法 使用 uni.chooseFile 选择文件 在 uniapp 中,可以通过 uni.chooseFile API 让用户选择本地文件。该 API 支持多平台,包括…

用vue实现表格

用vue实现表格

Vue 表格实现方法 基础表格实现 使用 Vue 的 v-for 指令可以轻松渲染表格数据。准备一个数据数组,在模板中用 v-for 循环渲染。 <template> <tab…

vue实现上传表格

vue实现上传表格

Vue实现上传表格的方法 使用Element UI上传组件 Element UI提供了el-upload组件,可以方便地实现文件上传功能。需要安装Element UI并引入相关组件。 安装Eleme…

css表格的制作方法

css表格的制作方法

表格基础结构 使用HTML的<table>标签创建表格框架,搭配<tr>定义行,<td>定义单元格。例如: <table> <tr>…

vue实现表格筛选

vue实现表格筛选

实现表格筛选的基本思路 在Vue中实现表格筛选通常涉及以下几个核心步骤:数据绑定、筛选逻辑处理、动态渲染。以下是具体实现方法。 基础数据绑定与表格渲染 定义表格数据和表头结构,使用v-for循环渲染…

vue实现多级表格

vue实现多级表格

Vue 实现多级表格的方法 使用递归组件实现多级表格 递归组件是处理嵌套数据的理想方式,特别适合展示树形结构的数据。 <template> <table> <…