1. 代码复用:这个组件可以在多个页面或组件中使用,避免了重复编写相同的按钮代码。
  2. 灵活性:通过showButtons属性,可以根据需要显示不同的按钮。默认情况下,它会显示添加、修改和删除按钮,但你也可以根据具体情况传递其他值来显示或隐藏按钮。
  3. 可定制性:每个按钮都有自己的点击事件处理函数,你可以根据需要自定义这些函数的实现。
<template>
<el-button v-show="showButtons.includes('add')" type="primary" @click="handleAdd">添加</el-button>
<el-button v-show="showButtons.includes('update')" type="success" @click="handleUpdate">修改</el-button>
<el-button v-show="showButtons.includes('delete')" type="warning" @click="handleDelete">删除</el-button>
<el-button v-show="showButtons.includes('resource')" type="primary" @click="handleDelete">关联资源</el-button>
</template> <script>
export default {
name: "CommonCrudButton",
props:{
showButtons:{
type:Array,
required:true,
default:['add','update','delete']
}
},
setup(props,{emit}){
console.log('curd button props',props.showButtons)
function handleAdd(){
emit('add')
}
function handleUpdate(){
emit('update')
}
function handleDelete(){
emit('delete')
}
return{handleDelete,handleUpdate,handleAdd}
}
}
</script> <style scoped> </style>

调用方法:

  1. 首先,确保你已经在项目中引入了Vue.js和Element UI库(因为代码中使用了Element UI的按钮组件)。

  2. 在需要使用这个组件的地方,导入它:

    import CommonCrudButton from '@/components/CommonCrudButton.vue';
  3. 在你的Vue组件中,注册并使用组件。你可以通过CommonCrudButton v-show指令来控制按钮的显示与隐藏,以及通过@click监听按钮的点击事件:

    <template>
    <div>
    <!-- 其他组件内容 -->
    <CommonCrudButton :showButtons="['add', 'update', 'delete']" @add="handleAdd" @update="handleUpdate" @delete="handleDelete" />
    </div>
    </template>
    <script>
    import CommonCrudButton from '@/components/CommonCrudButton.vue'; export default {
    components: {
    CommonCrudButton,
    },
    methods: {
    handleAdd() {
    // 处理添加按钮点击事件
    },
    handleUpdate() {
    // 处理修改按钮点击事件
    },
    handleDelete() {
    // 处理删除按钮点击事件
    },
    },
    };
    </script>
    复制
  4. methods中实现按钮点击事件的处理逻辑,根据需要进行相应的操作。

这样,你就可以在你的Vue组件中使用这个通用的增删改查按钮组件了。根据传入的showButtons属性值,它会显示相应的按钮,并在点击按钮时触发相应的事件处理函数。

转载自:vue通用的增删改查按钮组件

vue通用的增删改查按钮组件的更多相关文章

  1. 基于MVC和Bootstrap的权限框架解决方案 二.添加增删改查按钮

    上一期我们已经搭建了框架并且加入了列表的显示, 本期我们来加入增删改查按钮 整体效果如下 HTML部分,在HTML中找到中意的按钮按查看元素,复制HTML代码放入工程中 <a class=&qu ...

  2. 一起学Vue:CRUD(增删改查)

    目标 使用Vue构建一个非常简单CRUD应用程序,以便您更好地了解它的工作方式. 效果页面 比如我们要实现这样列表.新增.编辑三个页面: 列表页面 新增页面 编辑页面 我们把这些用户信息保存到Todo ...

  3. ABP+NetCore+Vue.js实现增删改查

    ABP我就不多介绍了,不知道的可以自己百度 本篇开发工具VS2017,数据库SQL SERVER2012,系统Win7 1.去ABP官网下载对应的模板,下载地址:https://aspnetboile ...

  4. EF(Entity Framework)通用DBHelper通用类,增删改查以及列表

    其中 通用类名:DBhelper 实体类:UserInfo 1 //新增 2 DBHelper<UserInfo> dbhelper = new DBHelper<UserInfo& ...

  5. 仿照admin实现一个自定义的增删改查的组件

    1.首先,创建三个项目,app01,app02,stark,在settings里边记得配置.然后举例:在app01的model里边写表,用的db.sqlite3,所以数据库不用再settings里边配 ...

  6. Vue表格数据增删改查及搜索

    <div id="app"> <div class="item"> <span class="name"> ...

  7. 封装自己通用的 增删改查的方法 By EF

    封装自己的通用CURD By EF using System; using System.Collections.Generic; using System.Data.Entity; using Sy ...

  8. Vue.js——3.增删改查

    vue  写假后台  bootstrap 做的样式 代码 <!DOCTYPE html> <html lang="en"> <head> < ...

  9. Vue+element基本增删改查

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  10. day25 crm 权限管理 通用的增删改查框架

    代码: https://github.com/liyongsan/git_class/tree/master/day25/LuffyCRM

随机推荐

  1. 线性SVM决策过程的可视化

    线性 SVM 决策过程的可视化 导入模块 from sklearn.datasets import make_blobs from sklearn.svm import SVC import matp ...

  2. Teams基础功能与会议介绍

    目录 Teams基本功能介绍 活动 聊天 如何查找联系人 如何开启语音或视频通话 如何共享自己的屏幕 如何新建群聊 发送文件的多种方式 快速安排一个会议 重要与紧急的消息 文件 分享的文件 OneDr ...

  3. S905L3A(M401A)拆解, 运行EmuELEC和Armbian

    关于S905L3A / S905L3AB S905Lx系列没有公开资料, 猜测是Amlogic用于2B的芯片型号, 最早的 S905LB 是 S905X 的马甲, 而这个 S905L3A/S905L3 ...

  4. D. Required Length

    D. Required Length 题意:给你一个长度n,一个数x,x每个后续状态可以由前一个状态乘以前一个状态的某一位上的数字得到,问最少多少步,能把x变成一个n位数.如果不能变成n位数,输出-1 ...

  5. 分享一个Github相关彩蛋

    楼上很多回答 都是基于手把手实操Github.Git源代码管理相关, 这些操作"无他,唯手熟尔". 今天提供一个github上阅读源码的小技巧,逆天级别的彩蛋. 要想成为大神,Gi ...

  6. 最简最快了解RPC核心流程

    本文主要以最简易最快速的方式介绍RPC调用核心流程,文中以Dubbo为例.同时,会写一个简易的RPC调用代码,方便理解和记忆核心组件和核心流程. 1.核心思想 RPC调用过程中,最粗矿的核心组件3个: ...

  7. Go 项目的文件布局

    转自 kcq 的 https://github.com/golang-standards/project-layout https://github.com/golang-standards/proj ...

  8. pinject依赖注入模块

    pinject 是一个基于 Python 的轻量级依赖注入库,可以方便地实现依赖注入的功能. 下面我们将通过一个简单的示例来演示如何使用 pinject 实现依赖注入. 首先,我们需要安装 pinje ...

  9. queryset高级用法:prefetch_related

    这个方法和select_related方法类型,就是访问多个表中的数据的时候,减少查询的次数.这个方法是为了解决一对多和多对多的关系的查询问题.比如要获取标题中带有hello字符串的文章以及它的所有标 ...

  10. 【Azure Function】Azure Function中使用 Java 8 的安全性问题

    问题描述 使用Azure Function, 环境是Linux的Java8.目前 Oracle Java JDK8,11,17 和 OpenJDK 8/11/17 都在存在漏洞受影响版本的范围内. O ...