当前位置: 首页 > news >正文

《Vue项目开发实战》第四章:组件封装--ToolBar

系列文章

《Vue项目开发实战》https://blog.csdn.net/sen_shan/category_13075264.html

第二章:API接口与请求封装https://blog.csdn.net/sen_shan/article/details/154638778?spm=1011.2415.3001.5331

文章目录

目录

系列文章

文章目录

前言

ToolBar组件


前言

        这篇文章介绍了Vue项目开发中一个封装好的工具栏按钮组组件(ToolBar),该组件集成了"增删改查"四个高频功能按钮。

        主要特点包括:

                1)支持按钮显隐控制(show*)和禁用状态(disabled*);

                2)内置国际化Tooltip提示;

                3)统一抛出点击事件;

                4)零配置即可使用,已全局注册;

                5)采用ElementPlus官方图标保持风格统一。

        该组件简化了列表工具栏开发,只需监听四个事件(search/add/edit/delete)即可满足90%的常见需求。

        代码示例展示了组件的模板结构、props定义和事件处理逻辑。

ToolBar组件

src\components\ActionBtnHdrCont.vue  基于原逻辑微调,细节略。

<template><div class="flex items-center gap-0"><el-tooltip :content="$t('btn.search')"  placement="bottom"   effect="light" ><el-button:icon="Search" circle v-if="showSearch"      :disabled="disabledSearch"@click="handleSearch"/></el-tooltip><el-tooltip :content="$t('btn.add')"    placement="bottom"  effect="light"   ><el-buttontype="primary":icon="DocumentAdd"circlev-if="showAdd":disabled="disabledAdd"@click="handleAdd"        /></el-tooltip><el-tooltip :content="$t('btn.edit')"  placement="bottom"  effect="light" ><el-buttonv-if="showEdit"type="primary":icon="Edit"circle:disabled="disabledEdit"@click="handleEdit"/></el-tooltip><el-tooltip :content="$t('btn.delete')"   placement="top"   effect="light" ><el-buttonv-if="showDelete"type="danger":icon="Delete"circle:disabled="disabledDelete"@click="handleDelete"/></el-tooltip></div>
</template><script  lang="ts"  setup>
import { defineProps, defineEmits } from "vue";
import {Plus,Check,Delete,Edit,Message,Search,Star,DocumentAdd,
} from '@element-plus/icons-vue' 
import { ElTooltip } from 'element-plus'; // 导入 ElTooltipconst props = defineProps({// 是否显示搜索按钮showSearch: {type: Boolean,default: false,},// 是否显示新增按钮showAdd: {type: Boolean,default: false,},// 是否显示修改按钮showEdit: {type: Boolean,default: false,},// 是否显示删除按钮showDelete: {type: Boolean,default: false,},// 新增按钮是否禁用disabledAdd: {type: Boolean,default: false,},// 搜索按钮是否禁用disabledSearch: {type: Boolean,default: false,},// 修改按钮是否禁用disabledEdit: {type: Boolean,default: false,},// 删除按钮是否禁用disabledDelete: {type: Boolean,default: true,},
});const emit = defineEmits(["search","add", "edit", "delete"]);const handleSearch = () => {emit("search");
};
const handleAdd = () => {emit("add");
};const handleEdit = () => {emit("edit");
};const handleDelete = () => {emit("delete");
};
</script>

功能说明:工具栏按钮组组件
( <ToolBar />  已封装为“零配置”即用组件)

1. 职责
提供“增、删、改、查”四个高频按钮的一行式组合,支持:
按需显隐( show* )
禁用控制( disabled* )
国际化 Tooltip 提示
点击事件统一抛出
2. 接口一览

3. 事件

4. 使用范例

<ToolBarshowSearchshowAddshowEditshowDelete:disabledDelete="selectedRows.length === 0"@search="handleSearch"@add="handleAdd"@edit="handleEdit(selectedRows[0])"@delete="handleDelete(selectedRows)"
/>

5. 特色
零引入成本:已全局注册,直接  <ToolBar />  即可使用
国际化内置:Tooltip 内容自动对应  btn.search / btn.add / btn.edit / btn.delete 
图标常驻:使用  @element-plus/icons-vue  官方图标,风格与 Element Plus 保持一致
轻量:无额外依赖,仅依赖  element-plus  图标与  ElTooltip 

总结:
“把四个按钮拖进来,剩下只要监听四个事件即可完成 90% 的列表工具栏需求。”

http://www.dtcms.com/a/593066.html

相关文章:

  • Redis拒绝策略
  • iphone Delta模拟器如何从夸克网盘导入游戏ROM 附游戏资源下载
  • 专业网站建设平台网站建设功能评估表
  • 做农业网站怎么赚钱58同城北京网站建设
  • 如何在命令行中调用Dev-C++的编译器?
  • C语言自定义类型:联合体与枚举
  • 在线网站推广工具WordPress 付费下载阅读
  • Windows2008 如何禁用FSO?
  • 了解一下LSTM:长短期记忆网络(改进的RNN)
  • 【微服务 - easy视频 | day03】服务与服务之间的调用
  • 网站建设定做mvc网站建设的实验报告
  • CMP(类Cloudera CMP 7 404版华为Kunpeng)告别CDH/CDP,拥抱自主可控的新时代
  • 生成ios钱包pkpass文件
  • Paimon——官网阅读:理解文件
  • 做网站应该学什么语言网站建设裕鸿国际
  • Xenium数据分析 | 使用Xenium Ranger重新分析数据
  • MySQL 8.0 新特性详解:窗口函数,开启数据分析的潘多拉魔盒
  • 基于模板匹配的数字和大写字母识别(Matlab)
  • 网站编程赚钱企业门户网站 php
  • 网站有什么到期网站空间哪里买
  • LeetCode 分类刷题:2816. 翻倍以链表形式表示的数字
  • 一文掌握,soular安装与配置
  • Whole-Body Control——双足机器人全身控制技术 论文阅读笔记
  • LeetCode hot100:240 搜索二维矩阵 II:三种解法对比
  • Wireshark笔记-DNS流程与数据包解析
  • SRv6论文阅读
  • 做电子烟外贸网站有哪些建设银行亚洲官方网站
  • 11.9 LeetCode 题目汇总与解题思路
  • leetcode 707 设计链表
  • dedecms_v5.6室内装饰设计公司企业网站模板.rar免费的素材网站有哪些