当前位置:首页 > VUE

vue element实现增删

2026-02-19 13:12:39VUE

使用 Vue 和 Element UI 实现增删功能

安装 Element UI

确保项目中已安装 Element UI。若未安装,可通过以下命令安装:

npm install element-ui

main.js 中引入 Element UI:

import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);

实现表格和操作按钮

在组件中定义表格数据及操作按钮:

<template>
  <div>
    <el-button type="primary" @click="handleAdd">新增</el-button>
    <el-table :data="tableData" style="width: 100%">
      <el-table-column prop="name" label="姓名"></el-table-column>
      <el-table-column prop="age" label="年龄"></el-table-column>
      <el-table-column label="操作">
        <template slot-scope="scope">
          <el-button size="mini" @click="handleEdit(scope.row)">编辑</el-button>
          <el-button size="mini" type="danger" @click="handleDelete(scope.row)">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>

定义数据和方法

script 部分初始化数据并实现增删逻辑:

<script>
export default {
  data() {
    return {
      tableData: [
        { name: '张三', age: 20 },
        { name: '李四', age: 22 }
      ]
    };
  },
  methods: {
    handleAdd() {
      this.tableData.push({ name: '新用户', age: 0 });
    },
    handleEdit(row) {
      // 编辑逻辑,可结合对话框组件实现
      console.log('编辑行:', row);
    },
    handleDelete(row) {
      this.$confirm('确认删除此记录?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        const index = this.tableData.indexOf(row);
        this.tableData.splice(index, 1);
        this.$message.success('删除成功');
      });
    }
  }
};
</script>

添加对话框组件(可选)

若需通过弹窗新增数据,可引入 el-dialog

<el-dialog title="新增数据" :visible.sync="dialogVisible">
  <el-form :model="formData">
    <el-form-item label="姓名">
      <el-input v-model="formData.name"></el-input>
    </el-form-item>
    <el-form-item label="年龄">
      <el-input v-model="formData.age"></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>

对应 script 部分需扩展:

vue element实现增删

data() {
  return {
    dialogVisible: false,
    formData: { name: '', age: '' }
  };
},
methods: {
  submitForm() {
    this.tableData.push({ ...this.formData });
    this.dialogVisible = false;
    this.formData = { name: '', age: '' };
  }
}

注意事项

  1. 删除操作需确认以防止误删,使用 this.$confirm 实现二次确认。
  2. 表单验证可通过 Element UI 的 rules 属性增强交互完整性。
  3. 实际项目中建议将数据操作与后端 API 结合,通过 axios 发送请求。

标签: vueelement
分享给朋友:

相关文章

vue实现muli

vue实现muli

Vue 实现多语言(i18n)支持 在 Vue 项目中实现多语言(i18n)功能,通常使用 vue-i18n 插件。以下是具体实现步骤: 安装 vue-i18n npm install vue-i…

vue实现返回

vue实现返回

返回按钮功能实现 在Vue中实现返回功能通常有两种方式:使用浏览器历史记录的history.back()或结合Vue Router进行编程式导航。以下是具体实现方法: 使用浏览器API metho…

vue实现123456

vue实现123456

Vue 实现数字 123456 的显示 在 Vue 中显示数字 123456 非常简单,可以通过以下方法实现: 方法一:直接在模板中显示 <template> <div>…

vue 实现遮罩

vue 实现遮罩

Vue 实现遮罩层的方法 使用固定定位和透明背景 在Vue中实现遮罩层可以通过CSS固定定位结合透明背景色完成。创建一个全屏遮罩组件,利用position: fixed覆盖整个视窗。 <tem…

vue 实现报价

vue 实现报价

Vue 实现报价功能 在 Vue 中实现报价功能通常涉及前端表单交互、数据计算和与后端 API 的通信。以下是实现报价功能的几种常见方法: 表单设计与数据绑定 使用 Vue 的 v-model 指…

vue框架实现

vue框架实现

Vue 框架实现方法 Vue 是一个渐进式 JavaScript 框架,适用于构建用户界面。以下是一些核心实现方法,涵盖基本使用、组件化、状态管理和优化技巧。 基本项目搭建 使用 Vue CLI…