当前位置:首页 > 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实现按钮组轮换

vue实现按钮组轮换

实现按钮组轮换的方法 在Vue中实现按钮组轮换效果可以通过动态绑定类和事件处理来完成。以下是一种常见的实现方式: 模板部分 <template> <div class="bu…

vue实现微博发布动态

vue实现微博发布动态

使用Vue实现微博发布动态功能 创建Vue组件结构 新建一个WeiboPost.vue组件,包含文本框、图片上传和发布按钮: <template> <div class="we…

vue实现input

vue实现input

Vue 实现 Input 输入框的方法 基本双向绑定 使用 v-model 指令实现双向数据绑定,适用于大多数表单场景: <template> <input v-model="…

vue实现签章

vue实现签章

Vue 实现签章功能 签章功能通常包括手写签名、电子印章等。以下是基于 Vue 的实现方法: 使用 canvas 实现手写签名 安装依赖(如需要): npm install signatu…

vue 实现视频

vue 实现视频

Vue 实现视频播放功能 使用 Vue 实现视频播放功能可以通过 HTML5 的 <video> 标签或第三方库(如 video.js)来实现。以下是两种常见的方法: 使用 HTML5…

vue实现popper

vue实现popper

Vue 实现 Popper 的方法 使用 Tippy.js 库 Tippy.js 是一个轻量级的 Popper.js 封装库,提供丰富的工具提示功能。安装 Tippy.js 及其 Vue 封装: n…