当前位置:首页 > VUE

vue element实现增删

2026-02-19 13:12:39VUE

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

安装 Element UI

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

npm install element-ui

main.js 中引入 Element UI:

vue element实现增删

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 部分初始化数据并实现增删逻辑:

vue element实现增删

<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 部分需扩展:

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中实现点击页面切换功能,可以通过路由跳转或组件动态渲染两种方式完成。以下是具体实现方法: 使用Vue Router实现页面跳转 安装Vue Router后,在项目中…

vue实现导航栏切图

vue实现导航栏切图

Vue 实现导航栏切图 使用 Vue Router 实现基础导航 在 Vue 项目中,可以通过 Vue Router 实现导航栏的路由切换。创建一个导航栏组件,并在其中使用 <router-li…

vue实现密码框的包

vue实现密码框的包

Vue 密码框实现方案 在 Vue 中实现密码框功能,可以通过原生 HTML 结合 Vue 指令或使用第三方组件库完成。以下是几种常见方案: 原生 HTML + Vue 双向绑定 <temp…

vue实现token

vue实现token

Vue 中实现 Token 认证的方法 在 Vue 中实现 Token 认证通常涉及前端与后端的交互,包括 Token 的获取、存储、发送和刷新等操作。以下是具体实现步骤: 获取 Token 用户登…

vue 实现轮播

vue 实现轮播

Vue 实现轮播的方法 使用第三方库(如 Swiper) 安装 Swiper 库: npm install swiper 在 Vue 组件中引入 Swiper: <template>…

vue实现treeselect

vue实现treeselect

Vue TreeSelect 实现方法 使用 Vue 实现 TreeSelect 组件可以通过以下几种方式完成,包括使用现成的第三方库或自行封装组件。 使用第三方库 推荐使用成熟的第三方 TreeS…