vue3:十三、分类管理-表格--编辑、新增、详情、刷新

news2025/5/20 23:01:29

一、效果

实现封装表格的新增、编辑、详情查看,表格刷新功能

实现表格组件中表单的封装

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2380300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c#基础01(.Net介绍)

文章目录 .Net平台介绍.Net平台简介跨平台开源.Net Core.Net Framework开发工具安装选项 创建项目 .Net平台介绍 .Net平台简介 .NET是一种用于构建多种应用的免费开源开放平台&#xff0c;例如&#xff1a; Web 应用、Web API 和微服务 云中的无服务器函数 云原生应用 移动…

Logrotate:配置日志轮转、高效管理Linux日志文件

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

贵州某建筑物挡墙自动化监测

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

nginx服务器实验

1.实验要求 1&#xff09;在Nginx服务器上搭建LNMP服务&#xff0c;并且能够对外提供Discuz论坛服务。 在Web1、Web2服务器上搭建Tomcat 服务。 2&#xff09;为nginx服务配置虚拟主机&#xff0c;新增两个域名 www.kgc.com 和 www.benet.com&#xff0c;使用http://www.kgc.…

高速光耦在通信行业的应用(五) | 5Mbps通信光耦的特性

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

Apidog MCP服务器,连接API规范和AI编码助手的桥梁

#作者&#xff1a;曹付江 文章目录 1.了解 MCP2.什么是 Apidog MCP 服务器&#xff1f;3.Apidog MCP 服务器如何工作4.利用人工智能改变开发工作流程5.设置 Apidog MCP 服务器&#xff1a; 分步指南5.高级功能和提示5.1 使用 OpenAPI 规范5.2.多个项目配置5.3.安全最佳实践5.4…

国内MCP服务平台推荐 AIbase推出MCP服务器客户端商店

在当今数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;技术正以前所未有的速度发展&#xff0c;不断改变着我们的生活和工作方式。2025年&#xff0c;AI领域迎来了一项重要的技术进展——MCP(Model Context Protocol&#xff0c;模型上下文协议)的广泛应用。这一技术…

Profinet转Ethernet IP主站网关:点燃氢醌生产线的智慧之光!

案例分享&#xff1a;转角指示器和Profinet转EthernetIP网关的应用 在现代工业自动化中&#xff0c;设备和系统之间的高效通信至关重要。最近&#xff0c;我们在某大型化工企业的生产线上实施了一个项目&#xff0c;旨在通过先进的设备和通信技术提高生产效率和安全性。该项目…

爬虫攻防战:从入门到放弃的完整对抗史与实战解决方案

爬虫攻防战:从入门到放弃的完整对抗史与实战解决方案 这张有趣的图片生动描绘了爬虫开发者与反爬工程师之间的"军备竞赛"。作为技术博主,我将基于这张图的各个阶段,深入分析爬虫技术的演进与对应的反制措施,提供一套完整的反爬解决方案,包括技术原理、实施方法…

[ctfshow web入门] web75

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

交流学习 | 江西同为科技有限公司赴海尔总部考察交流

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

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…

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天的开发&#xff0c;目前暂时没有特别确定要做的内容&#xff0c;但我们决定继续研究移动模式相关的部分。虽然一些小型实体系统已经在运行&#xff0c;但并不确定最终效果如何。 今天我们决定实现一个全新的功能&#xff1a;战斗系统。这是游…

C# Try Catch Finally 执行顺序是什么?有返回值呢?

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

水库雨水情测报与安全监测系统解决方案

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

架构选择/区别

目录 一、分层架构&#xff08;Layered Architecture&#xff09; 二、微服务架构&#xff08;Microservices Architecture&#xff09; 三、分布式架构&#xff08;Distributed Architecture&#xff09; 四、单体架构&#xff08;Monolithic Architecture&#xff09; 五…

嵌入式学习笔记 - STM32 ADC 模块工作模式总结

ADC 模式总结&#xff1a; 一 单ADC模式&#xff08;是指ADC1,ADC2,ADC3中只有一个ADC被使用&#xff09; ①单通道&#xff1a; 非连续模式&#xff1a;非连续的意思就是单次&#xff0c;一次转换完成后就停止转换&#xff0c;除非再次被软件或者被外部触发启动&#xff1b…

IPLOOK | 2025 MVNOs 世界大会:从Wi-Fi通话到卫星覆盖

2025 MVNOs 世界大会于5月12日至14日在奥地利维也纳举行&#xff0c;汇聚了来自50多个国家的550余位行业领袖&#xff0c;共同探讨移动虚拟网络运营商&#xff08;MVNO&#xff09;领域的变革趋势。本届大会聚焦数字化转型、技术创新与战略合作&#xff0c;其中IPLOOK凭借其创新…

零基础搭建!基于PP-ShiTuV2的轻量级图像识别系统(Docker+API部署指南)

以下是对该图像分类识别系统的的简单介绍&#xff1a; PP-ShiTuV2 是一个由百度飞桨团队发布的实用轻量级通用图像识别系统&#xff0c;由主体检测、特征提取、向量检索三个模块构成&#xff0c;适用于快速构建轻量级、高精度、可落地的图像识别应用image_classification是一个…