Vue 结合 Element-UI ,管理系统快速生成指南(一)

前言

Element UI 作为一个基于 Vue.js 的 UI 组件库,提供了丰富的界面元素和交互组件,大大提高了开发效率。结合这两大前端技术栈,开发者能够快速搭建出一个功能强大、界面优雅的管理系统。

由于管理系统实现流程还是相对较多,所以分几篇文章进行讲解

本章主要先将整体的页面写出,后续再继续补充细节部分

Element UI:一个 Vue 3 UI 框架 | Element Plus (element-plus.org)

实现

效果展示

在这里插入图片描述

安装

首先安装element-ui的依赖

npm install element-plus --save

将依赖引入项目main.js

import { createApp } from "vue";
import { createPinia } from "pinia";
import "@/assets/reset.css";import App from "./App.vue";
import router from "./router";
import ElementPlus from "element-plus";
import "element-plus/dist/index.css";const app = createApp(App);app.use(createPinia());
app.use(router);
app.use(ElementPlus);app.mount("#app");

App.vue

<template><div><RouterView /></div>
</template><script setup>
import { RouterView } from "vue-router";
</script><style lang="css" scoped></style>

app.vue页面只留一个路由出口

Login.vue

<div class="login"><div class="login-wrap"><h1>后台管理系统</h1><el-row><el-input v-model="state.account" placeholder="请输入账号" /></el-row><el-row><el-inputv-model="state.password"type="password"placeholder="请输入密码"show-password/></el-row><el-row><el-button type="success" round @click="login">登录</el-button><el-button type="primary" round>注册</el-button></el-row></div></div>
  1. 整体结构:

    • 整个登录界面包裹在一个 div 元素中,类名为 login
    • 登录表单部分包裹在 div.login-wrap 中。
    • 页面标题 “后台管理系统” 使用 h1 标签显示。
  2. 表单元素:

    • 账号输入使用 el-input 组件,v-model 绑定 state.account 变量。
    • 密码输入使用 el-input 组件,type 属性设置为 password,show-password 属性显示密码切换按钮,v-model 绑定 state.password 变量。
  3. 按钮操作:

    • 登录按钮使用 el-button 组件,type 属性设置为 success,round 属性设置为圆角按钮,@click 绑定 login 方法。
    • 注册按钮使用 el-button 组件,type 属性设置为 primary,round 属性设置为圆角按钮。
import { reactive } from "vue";
import { ElMessage } from "element-plus";
import { useRouter } from "vue-router";const state = reactive({account: "chen",password: "123456",
});const router = useRouter();
const login = () => {if (state.account === "chen" && state.password === "123456") {ElMessage({message: "登录成功",type: "success",});router.push("/layout");} else {ElMessage({message: "登录失败",type: "error",});}
};
  1. 状态管理:

    • 使用 reactive 创建了一个名为 state 的响应式对象,包含 accountpassword 两个属性。
  2. 路由管理:

    • 使用 useRouter 获取了路由实例 router
  3. 登录逻辑:

    • 定义了一个 login 函数,用于处理登录操作。
    • 在函数内部,首先检查 state.accountstate.password 是否匹配预设的用户名和密码(“chen” 和 “123456”)。
    • 如果匹配成功,则使用 ElMessage 组件显示成功提示,并使用 router.push 导航到 “/layout” 路由。
    • 如果匹配失败,则使用 ElMessage 组件显示失败提示。

Layout.vue

<div class="common-layout"><el-container><el-header>Header</el-header><el-container><el-aside width="200px"><el-menudefault-active="2"class="el-menu-vertical-demo"router="true"><el-sub-menu index="1"><template #title><el-icon><location /></el-icon><span style="color: white">人员管理</span></template><el-menu-item index="/home">首页</el-menu-item><el-menu-item index="1-2">item two</el-menu-item></el-sub-menu><el-menu-item index="2"><el-icon><icon-menu /></el-icon><span>欢迎</span></el-menu-item><el-menu-item index="3"><el-icon><document /></el-icon><span>Navigator Three</span></el-menu-item><el-menu-item index="4"><el-icon><setting /></el-icon><span>Navigator Four</span></el-menu-item></el-menu></el-aside><el-main><router-view /></el-main></el-container></el-container></div>
  1. 整体结构:

    • 使用 el-container 组件作为整体容器,包含了 el-header 和嵌套的 el-container 组件。
    • 内部的 el-container 组件包含了 el-asideel-main 组件。
  2. 头部区域:

    • el-header 组件用于显示头部区域,默认内容为 “Header”。
  3. 侧边菜单:

    • el-aside 组件用于显示侧边菜单栏,宽度设置为 200px

    • 使用 el-menu 组件渲染侧边菜单,default-active 属性设置当前选中的菜单项。

    • 菜单包含两个一级菜单项:

      • “人员管理” 菜单项包含两个二级菜单项:“首页"和"item two”。
      • “欢迎”、"Navigator Three"和"Navigator Four"三个一级菜单项。
    • 使用 router 属性开启路由模式,当点击菜单项时会自动跳转到对应的路由页面。

  4. 主体内容区域:

    • el-main 组件用于显示主体内容区域。
    • 使用 router-view 组件渲染当前路由对应的页面内容。

路由设计

import { createRouter, createWebHistory } from "vue-router";
import Login from "../views/Login.vue";
import Layout from "../views/Layout.vue";const router = createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [{// 默认路由path: "/",redirect: "/login",},{path: "/login",name: "Login",component: Login,},{path: "/layout",name: "Layout",component: Layout,},],
});export default router;

reset.css

reset.css 用于清除所有的默认样式

在main.js使用到了。可以根据自己的路径自行修改

/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; }

总结

本文将详细介绍如何使用 Vue.js 和 Element UI 快速构建页面,希望对你有帮助!!!

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

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

相关文章

TCP单进程循环服务器程序与单进程客户端程序

实验目的 理解并掌握以下内容: 网络进程标识(即套接字地址)在Linux中的数据结构与地址转换函数。网络字节序与主机字节序的定义、转换以及相关函数在网络编程中的应用。数据结构内存对齐的基本规则,以及基于数据结构构建PDU的基本方法。TCP单进程循环服务器与单进程客户端的…

电影交流平台小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;电影类型管理&#xff0c;留言反馈管理&#xff0c;电影中心管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;电影中心&#xff0c;留言反馈 开发系统&#xff1a;Window…

kvm虚拟机启用console登录

kvm虚拟机console登录&#xff0c;就是执行 virsh console 的时候&#xff0c;宿主机可以控制虚拟机。 一、centos7的kvm虚拟机开启console登录&#xff08;在虚拟中操作&#xff09; 1、备份文件 [roothadoop51 ~]# cp /etc/grub2.cfg /etc/grub2.cfg_back 2、用下面命令可…

Git 命令学习之推送本地项目到 Gitee 托管

引言 在软件开发中&#xff0c;版本控制是不可或缺的一环。Git 作为目前最流行的分布式版本控制系统&#xff0c;广泛应用于各种项目中。而 Gitee&#xff08;原名码云&#xff09;作为国内知名的代码托管平台&#xff0c;为开发者提供了稳定、安全的代码托管服务。下面将详细…

mysql mgr集群断电重启

一、前言 mysql mgr集群所有节点都断电重启时&#xff0c;就会面临一个问题&#xff0c;应该怎么重新构建mgr集群 二、操作 查询所有节点的master状态 show master status; 查看同步状态&#xff0c;可以通过uuid知道是通过哪个节点进行同步的数据 查看所有节点的uuid&#x…

【工具推荐】Clink

文章目录 Clink介绍Clink安装删除版权信息 Clink介绍 Clink 是一个工具&#xff0c;它将 GNU Readline 库的强大命令行编辑功能与 Windows 原生的 cmd.exe 命令提示符结合在一起。Readline 是 Bash shell 中众所周知的库&#xff0c;Bash 是许多 Linux 发行版的标准 shell。通…

基于C语言+控制台的学生信息管理系统

博主介绍&#xff1a; 大家好&#xff0c;本人精通Java、Python、Php、C#、C、C编程语言&#xff0c;同时也熟练掌握微信小程序和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验&#xff0c;能够为学生提供各类…

备份SQL Server数据库并还原到另一台服务器

我可以将SQL Server数据库备份到另一台服务器吗&#xff1f; 有时您可能希望将 SQL数据库从一台服务器复制到另一台服务器&#xff0c;或者将计算机复制到计算机。可能的场景包括测试、检查一致性、从崩溃的机器恢复数据库、在不同的机器上处理同一个项目等。 是的&#xff0c…

【嵌入式】探索嵌入式世界:在ARM上构建俄罗斯方块游戏的奇妙之旅

文章目录 前言&#xff1a;1. 简介2. 总体设计思路及功能描述2.1 设计思路2.2 功能描述2.3 程序流程图 3. 各部分程序功能及详细说明3.1 游戏界面函数3.1.1 游戏界面中的图片显示3.1.2 游戏开始界面3.1.3 游戏主界面3.1.4 游戏结束广告界面3.1.5 游戏界面中的触摸反馈3.1.6 游戏…

C++11新特性【下】

一、lambda表达式 在C98中&#xff0c;如果想要对一个数据集合中的元素进行排序&#xff0c;可以使用std::sort方法。如果待排序元素为自定义类型&#xff0c;需要用户定义排序时的比较规则&#xff0c;随着C语法的发展&#xff0c;人们开始觉得上面的写法太复杂了&#xff0c…

化身李时珍弟子,演绎中医药故事,李良济花神戏,创新传承中医药文化

6月29日&#xff0c;李良济与花神戏联袂举办的儿童剧本&#xff0c;在李良济嵩山店强势开启。 20余名小朋友&#xff0c;一起在这次中医药儿童剧本活动中&#xff0c;化身李时珍弟子&#xff0c;学中医&#xff0c;识草药&#xff0c;传承中医智慧&#xff0c;沉浸式学习传统文…

关于一维,二维正态分布的绘制

绘制一维正态分布代码 % 给定的均值和标准差 mu 0; % 例如&#xff0c;你可以改变这个值 sigma 1; % 例如&#xff0c;你可以改变这个值 % 定义x的范围&#xff08;例如&#xff0c;从mu-3*sigma到mu3*sigma&#xff0c;步长为0.1&#xff09; x mu - 3*sigma:0.1:m…

STM32 中断编程入门

目录 一、中断系统 1、中断的原理 2、中断类型 外部中断 定时器中断 DMA中断 3、中断处理函数 中断标志位清除 中断服务程序退出 二、实际应用 中断控制LED 任务要求 代码示例 中断控制串口通信 任务要求1 代码示例 任务要求2 代码示例 总结 学习目标&…

ROS学习笔记(17):建图与定位(1)

目录 0.前言 1.定位和建图 1.里程计&#xff08;Odometry&#xff09; 2.扫描匹配&#xff08;Scan Matching&#xff09; 3.结尾 0.前言 好久不见各位&#xff0c;前段时间忙着考试&#xff08;6级和一些专业课&#xff09;和摆烂断更了近30天&#xff0c;现在哥们回来更…

计算机毕业设计Python+Spark股票基金推荐与预测系统 股票基金可视化 股票基金推荐系统 股票基金可视化系统 股票基金数据分析 股票基金爬虫大数据

目 录 摘 要 Abstract 第1章 前 言 1.1 项目的背景和意义 1.2 研究现状 1.3 项目的目标和范围 1.4 论文结构简介 第2章 技术与原理 2.1 开发原理 2.2 开发工具 2.3 关键技术 第3章 需求建模 3.1 系统可行性分析 3.2 功能需求分析 3.3 非功能性…

高职人工智能专业实训课之“生成对抗网络(GAN)”

一、前言 生成对抗网络&#xff08;GAN&#xff09;作为人工智能领域的一项重要技术&#xff0c;已经在图像生成、风格迁移、数据增强等多个领域展现出巨大的潜力和应用价值。为了满足高职院校对GAN专业实训课程的需求&#xff0c;唯众人工智能教学实训凭借其前沿的教育技术平…

mst[讲课留档]

最小生成树(Minimum Spanning Tree) (1)概念 我们知道&#xff0c;树是有 n n n个结点&#xff0c; n − 1 n-1 n−1条边的无向无环的连通图。 一个连通图的生成树是一个极小的连通子图&#xff0c;它包含图中全部的 n n n个顶点&#xff0c;但只有构成一棵树的 n − 1 n-1 …

内容营销专家刘鑫炜:越是赚不到钱,越要加大推广力度

这两天&#xff0c;一位跟我们有长期合作关系的小微企业主老苏问我。 “现在钱这么不好赚&#xff0c;品牌推广应该怎么做&#xff1f;” 我说&#xff1a;“这是好机会&#xff0c;加大投放力度&#xff01;” 老苏很是不解&#xff0c;这时候不开源节流&#xff0c;还要加…

使用Git从Github上克隆仓库,修改并提交修改

前言 本次任务主要是进行github提交修改的操作练习实践&#xff0c;本文章是对实践过程以及遇到的问题进行的一个记录。 在此之前&#xff0c;我已经简单使用过github&#xff0c;Git之前已经下好了&#xff0c;所以就省略一些步骤。 步骤记录 注册github账号&#xff0c;gi…

【C++】C++指针在线程中调用与受保护内存空间读取方法

引言 在C的多线程编程中&#xff0c;正确地管理内存和同步访问是确保程序稳定性和安全性的关键。特别是当涉及到指针在线程中的调用时&#xff0c;对受保护内存空间的访问必须谨慎处理&#xff0c;以防止数据竞争、死锁和内存损坏等问题。本文将详细探讨C指针在线程中调用时如何…