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

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或数组的变异方法来确保视图正确响应数据变化。

elementui增删

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

标签: elementui
分享给朋友:

相关文章

elementui下载

elementui下载

下载Element UI的方法 Element UI可以通过npm或yarn进行安装,也可以直接下载文件引入到项目中。 npm安装方式 npm install element-ui -S yarn…

elementui ref

elementui ref

ElementUI 中使用 ref 的方法 在 ElementUI 中,ref 主要用于获取组件实例或 DOM 元素的引用,方便直接调用组件方法或操作 DOM。以下是几种常见的使用场景和示例: 获取…

elementui admin

elementui admin

ElementUI Admin 简介 ElementUI Admin 是基于 Vue.js 和 ElementUI 的后台管理系统模板,提供丰富的组件和布局方案,适合快速开发企业级中后台应用。其特点包…

elementui增删

elementui增删

ElementUI 表格的增删操作 ElementUI 提供了强大的表格组件,支持数据的增删改查操作。以下是实现增删功能的详细方法: 安装 ElementUI 确保项目中已安装 ElementUI,…

mvc elementui

mvc elementui

MVC 与 Element UI 的关系 MVC(Model-View-Controller)是一种软件设计模式,将应用程序分为三个核心部分:模型(数据逻辑)、视图(用户界面)和控制器(业务逻辑)。E…

elementui好丑

elementui好丑

ElementUI 的设计风格确实可能不符合部分用户的审美需求,但其作为一款成熟的 Vue 组件库,可通过以下方式提升视觉效果: 自定义主题 ElementUI 支持通过 SCSS 变量覆盖默认样式…