vue3:十三、分类管理-表格--编辑、新增、详情、刷新
一、效果
实现封装表格的新增、编辑、详情查看,表格刷新功能
实现表格组件中表单的封装
1、新增
如下图,新增页面显示空白的下拉,文本框,文本域,并实现提交功能
2、编辑
如下图,点击行数据,可将行数据展示到编辑弹窗,并实现提交功能
3、详情
如下图,点击行数据,可将行数据展示到详情页弹窗,弹窗数据只读不可编辑
二、初始页面定义、官网参考
1、官网参考
(1)表单组件
Form 表单 | Element Plus
(2)拟态框
Dialog 对话框 | Element Plus
2、初始工作
(1)定义新组件页面
在components中新建一个组件Form.vue
(2)定义新表单组件页面
在components中新建一个组件Table.vue
(3)定义分类数据获取接口页面
在api中新建一个专门获取分类数据的接口category.js
三、实现
1、分类主页面
路径:src/views/CategoryView.vue
(1)父页面定义表单组件项
在分类主页面中定义表格组件需要用到的项
引用vue方法
需要使用变量,即需要引入vue的方法reactive
定义表单项
这里定义一个数组变量formItems,这里展示了表单项的
- 名称:label
- 字段名称:field
- 提示词:placeholder
- 表单项的类型:type(例如文本框input,文本域textarea,下拉列表select等)
- 规则:rules(表单项的规则)
- 下拉的选项:options(包含label:字段名称,value:字段id)
//定义需要的表单数据
const formItems = reactive([{label: '父分类', field: 'pid', placeholder: '请选择父分类', type: 'select',rules: [{ required: true, message: '请选择父分类', trigger: 'change' },],options: [{ label: '无', value: 0 }]},{label: '分类名称', field: 'name', placeholder: '请输入分类名称', type: 'text',rules: [{ required: true, message: '请输入分类名称', trigger: 'blur' },{ min: 3, max: 5, message: '名称长度请在3-5字符之间', trigger: 'blur' },]},{ label: '分类描述', field: 'desc', type: 'textarea', placeholder: '请输入分类描述' },
])
(2)定义表单项中下拉数据
定义api
新建接口
新建期望
返回数据
{"code": 1,"msg": "成功","data": [{"id": 1,"pid": 0,"name":"分类1","desc":"父分类1"},{"id": 2,"pid": 0,"name":"分类2","desc":"父分类2"},{"id": 3,"pid": 0,"name":"分类3","desc":"父分类3"},]
}
接口页面写入接口
在api/category.js中获取get请求,并且对父分类列表进行查询,并导出
import { get } from '@/utils/request'//查询分分类的信息
export function getCategoryPid() {return get('/category/pidlist')
}
方法引入
页面获取父分类列表
执行获取父分类列表的方法
成功的话,将获取的数组整合成我们需要的下拉列表的格式{label:xxx,value:xxx}
这里使用map对数组进行循环,然后对表单项的首项(这里的首项就是下拉列表)进行数据插入(也就是每一项提取出label和value然后将数据插入到首项的options中)
//定义父级分类
getCategoryPid().then(res => {if (res.code == 1) {res.data.map(item => {formItems[0].options.push({ label: item.name, value: item.id })})}
})
(3)表单项数组传入表格
将获取的表单数据项通过参数传入Tables组件中
2、表格组件页面Table.vue
路径:src/components/Table.vue
(1)参数处理
将父页面传来的表单的数据,在表格组件中进行定义
(2)表单组件
引用方法
表单的使用
在视图层直接写入弹窗,将表单组件写入弹窗
- 弹窗的v-model:dialogFromVisible控制弹窗是否显示,是一个布尔值 (
true
显示,false
隐藏), - 标题为变量dialogFromTitle
- 表单组件:
ref
用于父组件调用子组件的方法,这里使用formComponentRef定义- 传递父组件获取的表单项formItems,
- 写入组件提交所需要用到的路径submitUrl,
- 写入表格传递给表单模式mode(新增/编辑/详情)
<!-- 弹窗 -->
<el-dialog v-model="dialog
相关文章:

vue3:十三、分类管理-表格--编辑、新增、详情、刷新
一、效果 实现封装表格的新增、编辑、详情查看,表格刷新功能 实现表格组件中表单的封装 1、新增 如下图,新增页面显示空白的下拉,文本框,文本域,并实现提交功能 2、编辑 如下图,点击行数据,可将行数据展示到编辑弹窗,并实现提交功能 3、详情 如下图,点击行数据,…...

c#基础01(.Net介绍)
文章目录 .Net平台介绍.Net平台简介跨平台开源.Net Core.Net Framework开发工具安装选项 创建项目 .Net平台介绍 .Net平台简介 .NET是一种用于构建多种应用的免费开源开放平台,例如: Web 应用、Web API 和微服务 云中的无服务器函数 云原生应用 移动…...
Go语言之路————并发
Go语言之路————并发 前言协程管道SelectsyncWaitGroup锁 前言 我是一名多年Java开发人员,因为工作需要现在要学习go语言,Go语言之路是一个系列,记录着我从0开始接触Go,到后面能正常完成工作上的业务开发的过程,如…...

Logrotate:配置日志轮转、高效管理Linux日志文件
Logrotate 是 Linux 系统中用于自动化管理日志文件的工具,能够定期轮转、压缩、删除日志文件,确保系统日志不会无限制增长,占用过多磁盘空间。 它通常由 Cron 作业定期执行,也可以手动触发。 1. 🔧 核心功能 日志轮转…...

贵州某建筑物挡墙自动化监测
1. 项目简介 某建筑物位于贵州省某县城区内,靠近县城主干道,周边配套学校、医院、商贸城。建筑物临近凤凰湖、芙蓉江等水系,主打“湖景生态宜居”。改建筑物总占地面积:约5.3万平方米;总建筑面积:约15万平…...

nginx服务器实验
1.实验要求 1)在Nginx服务器上搭建LNMP服务,并且能够对外提供Discuz论坛服务。 在Web1、Web2服务器上搭建Tomcat 服务。 2)为nginx服务配置虚拟主机,新增两个域名 www.kgc.com 和 www.benet.com,使用http://www.kgc.…...
【算法】滑动窗口动态查找不含重复字符的最长子串
// 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 // // 输入: s "abcabcbb" // 输出: 3String s "abcabcbb";String[] sArr s.split("");StringBuilder noDuplicateStr new StringB…...

高速光耦在通信行业的应用(五) | 5Mbps通信光耦的特性
针对5MBd速率光耦市场,晶台推出KL2200、KL2201和KL2202系列光耦 ,对标大部分国外品牌产品的应用;它分别由一个红外发射二极管和一个高速集成光电检测器逻辑门组成。 它采用 8 引脚 DIP 封装,并提供 SMD 选项。KL2200 的检测器具有一个三态输出…...

Apidog MCP服务器,连接API规范和AI编码助手的桥梁
#作者:曹付江 文章目录 1.了解 MCP2.什么是 Apidog MCP 服务器?3.Apidog MCP 服务器如何工作4.利用人工智能改变开发工作流程5.设置 Apidog MCP 服务器: 分步指南5.高级功能和提示5.1 使用 OpenAPI 规范5.2.多个项目配置5.3.安全最佳实践5.4…...
视觉模型部署实践:低算力平台RV1106上高效部署paddlepaddle 的PicoDet目标检测模型的技术实践
在资源受限的嵌入式设备上实现高精度、低延迟的目标检测,是当前智能摄像头、边缘计算等应用中的关键挑战。本文以 Rockchip 的 RV1106 嵌入式平台为例,结合百度开源的轻量级检测模型 PicoDet,探讨如何通过模型优化与硬件加速,在有…...
07、基础入门-SpringBoot-自动配置特性
# Spring Boot自动配置特性 07、基础入门-SpringBoot-自动配置特性 Spring Boot的自动配置是其核心特性之一,旨在通过智能化的默认配置简化Spring应用的开发流程,减少手动配置的工作量。 ## 一、自动配置的核心思想 ### 1. 条件化配置 根据应用的依赖和上…...

国内MCP服务平台推荐 AIbase推出MCP服务器客户端商店
在当今数字化时代,人工智能(AI)技术正以前所未有的速度发展,不断改变着我们的生活和工作方式。2025年,AI领域迎来了一项重要的技术进展——MCP(Model Context Protocol,模型上下文协议)的广泛应用。这一技术…...

Profinet转Ethernet IP主站网关:点燃氢醌生产线的智慧之光!
案例分享:转角指示器和Profinet转EthernetIP网关的应用 在现代工业自动化中,设备和系统之间的高效通信至关重要。最近,我们在某大型化工企业的生产线上实施了一个项目,旨在通过先进的设备和通信技术提高生产效率和安全性。该项目…...
Elasticsearch 初步认识
Elasticsearch 初步认识 1 索引(index) 索引是具有相同结构的文档集合。例如,可以有一个客户信息的索引,包括一个产品目录的索引,一个订单数据的索引。在系统上索引的名字全部小写,通过这个名字可以用来执…...

爬虫攻防战:从入门到放弃的完整对抗史与实战解决方案
爬虫攻防战:从入门到放弃的完整对抗史与实战解决方案 这张有趣的图片生动描绘了爬虫开发者与反爬工程师之间的"军备竞赛"。作为技术博主,我将基于这张图的各个阶段,深入分析爬虫技术的演进与对应的反制措施,提供一套完整的反爬解决方案,包括技术原理、实施方法…...
可变参数(Variadic Functions)- 《Go语言实战指南》
Go 语言允许函数接受不定数量的参数,也称“可变参数”。这为构建灵活的函数提供了便利,常用于求和、拼接等操作。 一、语法格式 func 函数名(参数名 ...类型) 返回值类型 {// 函数体 } 可变参数本质上是一个切片(slice)…...

[ctfshow web入门] web75
信息收集 启用了open_basedir,所以之前的方法又不能用了 解题 cforeach(new DirectoryIterator("glob:///*") as $a){echo($a->__toString(). ); } ob_flush();cif ( $a opendir("glob:///*") ) {while ( ($file readdir($a)) ! false …...

交流学习 | 江西同为科技有限公司赴海尔总部考察交流
2025年4月8日至9日,江西同为科技有限公司在江西省科技装备商会的带领下,以蔡文君经理为代表,一行人赴山东青岛海尔总部开展两天的考察交流活动。本次考察不仅深入剖析了海尔企业的前沿技术与管理理念,更促进了行业内科技创新、商业…...

React方向:react的基本语法-数据渲染
1、安装包(js库) yarn add babel-standalone react react-dom 示例图.png 2、通过依赖包导入js库文件 <script src"../node_modules/babel-standalone/babel.js"></script> <script src"../node_modules/react/umd/react.development.js"&g…...
Java求职面试:从核心技术到大数据与AI的场景应用
面试场景: 在某互联网大厂的面试间,一位严肃的面试官正准备对面前的求职者谢飞机进行技术面试。谢飞机虽然有些紧张,但他相信凭借自己的机智和幽默能够顺利通过。 第一轮提问:核心语言与平台的基础问题 面试官:“谢…...
Ubuntu 20.04之Docker安装ES7.17.14和Kibana7.17.14
你需要已经安装如下运行环境: Ubuntu 20.04 docker 28 docker-compose 1.25 一、手动拉取镜像 docker pull docker.elastic.co/kibana/kibana:7.17.14docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.14 或者手动导入镜像 docker load -i es7.17.14.ta…...

RK3568-鸿蒙5.1镜像烧录与调试
参考https://gitee.com/hihope_iot/docs/blob/master/HiHope_DAYU200/docs/%E7%83%A7%E5%BD%95%E6%8C%87%E5%AF%BC%E6%96%87%E6%A1%A3.md https://blog.csdn.net/pengjiadashaoye/article/details/144448126 固件烧录 缺了3个 , 没找着,烧录试试看 ,看了参考也不太一样 缺了…...

游戏引擎学习第294天:增加手套
准备战斗 我们正在进行的是第294天的开发,目前暂时没有特别确定要做的内容,但我们决定继续研究移动模式相关的部分。虽然一些小型实体系统已经在运行,但并不确定最终效果如何。 今天我们决定实现一个全新的功能:战斗系统。这是游…...

C# Try Catch Finally 执行顺序是什么?有返回值呢?
Try Catch Finally 执行顺序是什么?有返回值呢? 大部分程序员都认为:C#异常处理执行顺序,很简单,没什么可说的。 正常情况:执行顺序为 1、3(下图) 异常情况:执行顺序为1、2、3 文章目录 Tr…...

水库雨水情测报与安全监测系统解决方案
一、方案概述 本水库雨水情测报与安全监测解决方案的核心目标在于利用尖端的技术手段,确保对水库雨水情势以及大坝安全状况的持续监控和及时预警,从而为水库的稳定运行提供坚实的支持和保障。该方案严格遵循“统筹协调、因库制宜、实用有效、信息共享”的…...

架构选择/区别
目录 一、分层架构(Layered Architecture) 二、微服务架构(Microservices Architecture) 三、分布式架构(Distributed Architecture) 四、单体架构(Monolithic Architecture) 五…...

嵌入式学习笔记 - STM32 ADC 模块工作模式总结
ADC 模式总结: 一 单ADC模式(是指ADC1,ADC2,ADC3中只有一个ADC被使用) ①单通道: 非连续模式:非连续的意思就是单次,一次转换完成后就停止转换,除非再次被软件或者被外部触发启动;…...
Python爬虫实战:获取taobao网最新rtx5060ti显卡销量数据并分析,为消费者做参考
一、系统定义与技术架构 1.1 系统定义 本系统是基于 Python 开发的电商数据采集与分析工具,旨在通过模拟用户行为实现淘宝平台 50 系列显卡(以 RTX 5060 Ti 为例)销售数据的自动化获取、清洗、分析及可视化。核心功能包括: 自动登录:通过 Selenium 模拟浏览器操作完成账…...

IPLOOK | 2025 MVNOs 世界大会:从Wi-Fi通话到卫星覆盖
2025 MVNOs 世界大会于5月12日至14日在奥地利维也纳举行,汇聚了来自50多个国家的550余位行业领袖,共同探讨移动虚拟网络运营商(MVNO)领域的变革趋势。本届大会聚焦数字化转型、技术创新与战略合作,其中IPLOOK凭借其创新…...

零基础搭建!基于PP-ShiTuV2的轻量级图像识别系统(Docker+API部署指南)
以下是对该图像分类识别系统的的简单介绍: PP-ShiTuV2 是一个由百度飞桨团队发布的实用轻量级通用图像识别系统,由主体检测、特征提取、向量检索三个模块构成,适用于快速构建轻量级、高精度、可落地的图像识别应用image_classification是一个…...