当前位置:首页 > 前端教程

elementui增删

2026-03-05 19:21:30前端教程

使用Element UI进行表格增删操作

Element UI提供了丰富的表格操作功能,包括增删改查。以下是在Vue项目中使用Element UI实现表格增删功能的具体方法。

表格数据删除

删除操作通常需要绑定表格行的删除按钮,并调用相应的方法处理数据。

<el-table :data="tableData" style="width: 100%">
  <el-table-column prop="date" label="日期"></el-table-column>
  <el-table-column prop="name" label="姓名"></el-table-column>
  <el-table-column label="操作">
    <template slot-scope="scope">
      <el-button size="mini" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
    </template>
  </el-table-column>
</el-table>
methods: {
  handleDelete(index, row) {
    this.$confirm('确认删除该记录吗?', '提示', {
      confirmButtonText: '确定',
      cancelButtonText: '取消',
      type: 'warning'
    }).then(() => {
      this.tableData.splice(index, 1)
      this.$message({
        type: 'success',
        message: '删除成功!'
      })
    }).catch(() => {
      this.$message({
        type: 'info',
        message: '已取消删除'
      })          
    })
  }
}

表格数据新增

新增数据通常通过表单对话框实现,需要先定义表单数据模型和验证规则。

<el-button type="primary" @click="dialogVisible = true">新增</el-button>

<el-dialog title="新增数据" :visible.sync="dialogVisible">
  <el-form :model="form" :rules="rules" ref="form">
    <el-form-item label="日期" prop="date">
      <el-date-picker v-model="form.date" type="date"></el-date-picker>
    </el-form-item>
    <el-form-item label="姓名" prop="name">
      <el-input v-model="form.name"></el-input>
    </el-form-item>
  </el-form>
  <div slot="footer">
    <el-button @click="dialogVisible = false">取消</el-button>
    <el-button type="primary" @click="submitForm">确定</el-button>
  </div>
</el-dialog>
data() {
  return {
    form: {
      date: '',
      name: ''
    },
    rules: {
      date: [{ required: true, message: '请选择日期', trigger: 'change' }],
      name: [{ required: true, message: '请输入姓名', trigger: 'blur' }]
    },
    dialogVisible: false
  }
},
methods: {
  submitForm() {
    this.$refs.form.validate(valid => {
      if (valid) {
        this.tableData.push({
          date: this.form.date,
          name: this.form.name
        })
        this.dialogVisible = false
        this.$message.success('新增成功')
      }
    })
  }
}

批量删除操作

对于需要批量删除的场景,可以使用表格的多选功能配合批量删除按钮。

<el-table 
  :data="tableData" 
  @selection-change="handleSelectionChange"
  style="width: 100%">
  <el-table-column type="selection" width="55"></el-table-column>
  <!-- 其他列 -->
</el-table>

<el-button @click="batchDelete" :disabled="!selectedItems.length">批量删除</el-button>
data() {
  return {
    selectedItems: []
  }
},
methods: {
  handleSelectionChange(val) {
    this.selectedItems = val
  },
  batchDelete() {
    this.$confirm(`确认删除选中的${this.selectedItems.length}条记录吗?`, '提示', {
      // 确认对话框配置
    }).then(() => {
      this.selectedItems.forEach(item => {
        const index = this.tableData.indexOf(item)
        if (index > -1) {
          this.tableData.splice(index, 1)
        }
      })
      this.$message.success('批量删除成功')
    })
  }
}

注意事项

数据操作后需要考虑实时更新视图的问题。在Vue中,直接操作数组或对象属性可能不会触发视图更新,可以使用Vue.set或数组的变异方法来确保视图正确响应数据变化。

对于复杂场景,建议将表格数据操作封装为独立的组件或模块,提高代码复用性和可维护性。同时,实际项目中通常需要与后端API交互,在删除和新增操作中应加入相应的API调用逻辑。

elementui增删

标签: elementui
分享给朋友:

相关文章

elementui table

elementui table

ElementUI Table 基本用法 ElementUI 的 Table 组件用于展示结构化数据,支持排序、筛选、分页等功能。以下是一个基础示例: <template> &…

修改elementui的样式

修改elementui的样式

修改 ElementUI 样式的方法 通过全局样式覆盖 在项目的全局样式文件(如 App.vue 或 main.css)中直接覆盖 ElementUI 的默认样式。需确保选择器优先级高于默认样式,可通…

elementui锁屏

elementui锁屏

ElementUI 锁屏功能实现 ElementUI 本身并未直接提供锁屏组件,但可以通过遮罩层、自定义指令或结合 Vue 路由守卫实现类似效果。以下是几种常见实现方式: 使用遮罩层与自定义指令 通…

elementui  文档

elementui 文档

以下是 Element UI 官方文档及相关资源的整理: 官方文档地址 Element UI 的官方文档可通过以下链接访问: 中文文档:https://element.eleme.cn…

面试elementui

面试elementui

面试准备:ElementUI 核心知识点 基础组件与用法 熟悉常用组件如 el-button、el-form、el-table、el-dialog 的使用场景和配置项。例如表单验证需结合 rules…

elementui和

elementui和

ElementUI 简介 ElementUI 是一套基于 Vue.js 的桌面端组件库,由饿了么前端团队开发并开源。它提供了丰富的 UI 组件(如表格、表单、弹窗等),适用于快速构建企业级中后台管理系…