vue3+el-tale封装(编辑、删除、查看详情按钮一起封装)

本文主要是介绍vue3+el-tale封装(编辑、删除、查看详情按钮一起封装),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

// 封装源码(子组件)
<template><el-table :data="tableData" style="width: 100%"><el-table-columnv-for="(column, index) in tableDataHeader":label="column.label":key="index":prop="column.prop":width="column.width"><template #default="scope" v-if="column.operate"><el-buttonv-for="item in column.children":key="item.prop":type="item.type"@click="btnClick(item.method, scope.row, scope.$index)">{{ item.label }}</el-button></template></el-table-column></el-table>
</template><script setup lang="ts">
const props = defineProps<{tableData: Array<any>tableDataHeader: Array<any>
}>()const emits = defineEmits(['deleteRow', 'editRow', 'detailRow'])const btnClick = (method, row, index) => {console.log('method: ', method)emits(method, row, index)
}
</script><style scoped></style>
// 父组件调用
<template><CustomTable:tableData="tableData":tableDataHeader="tableDataHeader"@deleteRow="deleteRow"@editRow="edit"@detailRow="detail"></CustomTable>
</template><script setup lang="ts">
import { onMounted, reactive, ref, type Ref } from 'vue'
import CustomTable from '@/components/Custom-table.vue'
import { data } from '@/data/data.ts'const tableData: Ref<Array> = ref(data.tableData)
const tableDataHeader = ref(data.tableDataHeader)const deleteRow = (row: any, index: number) => {tableData.value.splice(index, 1)console.log('this tableData: ', tableData)pagenation.value.total = tableData.value.length
}
const edit = (row, index) => {console.log('row: ', row, index)
}
const detail = (row, index) => {console.log('row: ', row, index)
}
</script><style scoped></style>

对应的tableData和tableDataHeader文件(实际开发中,应该从后端拿tableData,tableHeader根据情况自定义)

export const data = {tableData: [{name: 'knife1',date: '2024-09-22',type: 'butterfly'},{name: 'knife2',date: '2024-09-22',type: 'M9'},{name: 'knife3',date: '2024-09-22',type: 'butterfly'}],tableDataHeader: [{label: 'Knife Name',prop: 'name',width: 180},{label: 'Favorite Date',prop: 'date',width: 180},{label: 'Knife Type',prop: 'type',width: 180},{label: 'Operation',operate: true,prop: 'Operation',width: '280',children: [{label: 'edit',prop: 'edit',method: 'editRow',type: 'primary'},{label: 'Delete',prop: 'Delete',method: 'deleteRow',type: 'warning'},{label: 'Detail',prop: 'Detail',method: 'detailRow',type: 'info'}]}]
}

这篇关于vue3+el-tale封装(编辑、删除、查看详情按钮一起封装)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114263

相关文章

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

Python如何使用seleniumwire接管Chrome查看控制台中参数

《Python如何使用seleniumwire接管Chrome查看控制台中参数》文章介绍了如何使用Python的seleniumwire库来接管Chrome浏览器,并通过控制台查看接口参数,本文给大家... 1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量chrome.exe --rem

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

Redis过期键删除策略解读

《Redis过期键删除策略解读》Redis通过惰性删除策略和定期删除策略来管理过期键,惰性删除策略在键被访问时检查是否过期并删除,节省CPU开销但可能导致过期键滞留,定期删除策略定期扫描并删除过期键,... 目录1.Redis使用两种不同的策略来删除过期键,分别是惰性删除策略和定期删除策略1.1惰性删除策略

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

MySQL中删除重复数据SQL的三种写法

《MySQL中删除重复数据SQL的三种写法》:本文主要介绍MySQL中删除重复数据SQL的三种写法,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录方法一:使用 left join + 子查询删除重复数据(推荐)方法二:创建临时表(需分多步执行,逻辑清晰,但会

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧