当前位置:首页 > 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 实现新闻功能通常涉及新闻列表展示、新闻详情页、分类筛选等模块。以下是实现的基本思路和代码示例。 新闻列表展示 通过 Vue 组件展示新闻列表,通常使用 v-for…

vue实现pie

vue实现pie

Vue 实现饼图 在 Vue 中实现饼图通常可以通过第三方图表库(如 ECharts、Chart.js 或 Highcharts)来完成。以下是使用 ECharts 和 Chart.js 的两种常见方…

vue实现插件

vue实现插件

Vue 插件实现方法 Vue 插件通常用于为 Vue 应用添加全局功能或共享功能。以下是实现 Vue 插件的核心步骤: 插件基本结构 Vue 插件需要暴露一个 install 方法,该方法接收 Vu…

vue 实现单点登录

vue 实现单点登录

单点登录(SSO)实现原理 单点登录允许用户通过一次身份验证访问多个系统。核心原理是用户首次登录后,认证中心颁发令牌(如Token),其他系统通过验证令牌实现免登录。 Vue中实现SSO的方案 基于…

vue 实现登录验证

vue 实现登录验证

Vue 实现登录验证的方法 使用 Vue Router 进行路由守卫 在 Vue 项目中,可以通过 Vue Router 的路由守卫(Navigation Guards)实现登录验证。路由守卫可以在路…

vue实现数据渲染

vue实现数据渲染

Vue 数据渲染的实现方式 Vue.js 提供了多种数据渲染的方式,包括插值表达式、指令和计算属性等。以下是常见的实现方法: 插值表达式 使用双大括号 {{ }} 将数据绑定到模板中,数据变化时会自…