java大师博客网站

vue教程

  • vue模拟el-table演示插槽用法 最近开发了一套图书管理系统,有兴趣的同学可以看下:图书管理系统演示 很多人知道插槽分为三种,但是实际到elementui当中为什么这么用,就一脸懵逼,接下来就跟大家聊一聊插槽在elementui中的应用,...
  • 通过封装el-table的方式,创建我们自己的Mytable组件 做了一个图书管理系统,有兴趣的朋友可以看下:图书管理系统演示 1、好处: 通过封装 el-table 组件,创建我们自己的 Mytable 组件,可以带来以下好处: 复用代码...
  • Login.vue <template> <div class="login-container"> <el-card class="login-card"> <h3 class="login-title...
  • vue3整合axios 3.1导入依赖 npm install axios 3.2新建util文件夹,创建api.js import axios from 'axios' import {ElLoading,ElMessage} from 'e...
  • vue3 hook函数返回多个对象 如果你想导出一个使用ref包装的对象,你可以使用toRef函数将对象的属性转换为响应式引用。这样,当属性的值发生变化时,它将自动触发重新渲染。 以下是一个示例代码: import { ref, toRef ...
  • vue通用的增删改查按钮组件 代码复用:这个组件可以在多个页面或组件中使用,避免了重复编写相同的按钮代码。 灵活性:通过showButtons属性,可以根据需要显示不同的按钮。默认情况下,它会显示添加、修改和删除按钮,但你也可以根据具体情况传递...
  • vue动态路由页面刷新后路由消失处理 原因:页面刷新后,页面会重新实例化路由数据,因为是动态路由,所以页面刷新后会将router置为router/index.js配置的原始路由数据,所以匹配路由地址的时候会报错。因为只需要在用户会话期间保持动态路...
  • 在ES6中,我们可以使用几种方式来遍历对象。下面是其中的几种方式,并附带详细的示例: for...in循环: 使用for...in循环可以遍历对象的可枚举属性。它会遍历对象自身的属性以及继承的属性(如果属性是可枚举的)。 const obj ...
  • 要使用自己的directives指令,需要按照以下步骤进行: 在Vue实例中注册指令 在Vue实例的创建函数中,可以使用Vue.directive方法来注册自定义指令。例如: // 创建Vue实例 var app = new Vue({ e...
  • Vue2和ElementUI编写的无限级菜单路由 文章转载自:www.javaman.cn <template> <div> <el-menu :default-active="$route.path" clas...
vue通用的增删改查按钮组件 - java大师  java大师博客网站

vue通用的增删改查按钮组件

  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>


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}
  }
}


<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>
    
    import CommonCrudButton from '@/components/CommonCrudButton.vue';
    
    export default {
      components: {
        CommonCrudButton,
      },
      methods: {
        handleAdd() {
          // 处理添加按钮点击事件
        },
        handleUpdate() {
          // 处理修改按钮点击事件
        },
        handleDelete() {
          // 处理删除按钮点击事件
        },
      },
    };
    
    复制
    
  4. methods中实现按钮点击事件的处理逻辑,根据需要进行相应的操作。

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


全部评论: 0

    我有话说: