基于element-ui后台模板,日常唠嗑

news2024/11/16 17:46:28

后面会补充github地址

文章目录

目录

文章目录

案例说明

1.引入库

2.创建布局组件

3.创建布局组件

 4.菜单效果展示

5.创建顶部组件

5.创建顶部面包屑组件

6.创建内容区域组件

7.效果总览

7.布丁(实现一些小细节)


  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结


案例说明

徒手搭建后台管理系统模板(2.0)

之前网上找了以下模板,大多太重,我想要一款超轻量级,此处量级是指,代码结构,目录结构,简单。


因果:需要在大屏系统中假如后台管理系统,大屏用的是2.0

1.引入库

代码如下(示例):

import Element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

2.创建布局组件

代码如下(layout/index):

<div class="admin-wrapper">
    <div class="sidebar-container">
        <!--左侧菜单-->
    </div>
    <div class="main-container">
        <div class="header-main">
            <!--顶部菜单-->
        </div>
      <!--内容区域-->
    </div>
</div>

3.创建布局组件

代码如下(layout/components/menuBar):

<el-scrollbar wrap-class="scrollbar-wrapper">
	<el-menu>
		<!--菜单组件menu-item-->
		<menu-item v-for="(router, key) in menulist" :key="key" :item="router"/>
	</el-menu>
</el-scrollbar>

模拟菜单数据 menuList: mockMenuData

const mockMenuData = [
  { id: '1', level: 1, name: '菜单A', parentId: '0', path: '' },
  { id: '2', level: 1, name: '菜单B', parentId: 0, path: '/yjcd',
	children: [
	  { id: '2_1', level: 2, name: '菜单B_A', parentId: '1', path: '' },
	  { id: '2_2', level: 2, name: '菜单B_B', parentId: '1', path: '' },
	  { id: '2_3', level: 2, name: '菜单B_C', parentId: '1', path: '',
		children: [
		  { id: '2_1_1', level: 2, name: '菜单B_C_A', parentId: '2', path: '' },
		  { id: '2_1_1', level: 2, name: '菜单B_C_B', parentId: '2', path: '' },
		  { id: '2_1_1', level: 2, name: '菜单B_C_C', parentId: '2', path: '' }
		]
	  }
	]
  }
]

菜单组件递归子组件 menu-item

<div class="menu-item">
	<el-submenu v-if="item.children" :index="item.path" popper-append-to-body>
		<template slot="title">
			<span slot="title" v-text="item.name"></span>
		</template>
		<menu-item v-for="(item_, key_) in item.children" :key="key_" :item="item_"/>
	</el-submenu>
	<template v-else>
		<el-menu-item :index="item.path" :id="item.path">
			<span slot="title" v-text="item.name"></span>
		</el-menu-item>
	</template>
</div>

 4.菜单效果展示

5.创建顶部组件

代码如下(layout/components/navBar):

<div class="nav-bar">
	<!--开合按钮-->
	<div class="toggle-switch">
		<div class="icon" @click="handleToggleSwitch" v-if="show"><i class="el-icon-s-fold"></i></div>
		<div class="icon" @click="handleToggleSwitch" v-else><i class="el-icon-s-unfold"></i></div>
	</div>
	<!--面包屑-->
	<breadcrumb/>
	<!--菜单-->
	<div class="right-box">
		<el-dropdown class="avatar-container" trigger="click">
			<div class="avatar-wrapper">
				<img src="" class="user-avatar">
			</div>
			<el-dropdown-menu slot="dropdown">
				<el-dropdown-item divided @click.native="handleLogout">
					<span style="display:block;">退出登录</span>
				</el-dropdown-item>
			</el-dropdown-menu>
		</el-dropdown>
	</div>
</div>

5.创建顶部面包屑组件

代码如下(layout/components/breadcrumb):

  <el-breadcrumb class="app-breadcrumb" separator="/">
    <transition-group name="breadcrumb">
      <el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path">
        <span v-if="item.redirect==='noRedirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span>
        <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
      </el-breadcrumb-item>
    </transition-group>
  </el-breadcrumb>


const matched = this.$route.matched.filter(item => item.meta && item.meta.title)
this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)

6.创建内容区域组件

代码如下(layout/components/appMain):

<section class="app-main">
	<transition name="fade-transform" mode="out-in">
		<router-view />
	</transition>
</section>

7.效果总览

7.布丁(实现一些小细节)

项目要求,切换时候有loading

嘿嘿,咱之前做移动端时候又类似代码,代码如下:(记得import Loading 哈)

export const el_import = (viewPath) => {
	return resolve => {
		const el_ld = Loading.service({
			text: '加载中···'
		})
		require(['@/views/' + viewPath], component => {
			el_ld.close()
			resolve(component)
		})
	}
}

使用方法:

{
    path: '/test',
    name: 'test',
    meta: { title: 'test', index: 0, keepAlive: false, requireAuth: false },
    component: el_import('admin/index')
}

好了,本期内容就到这里结束吧。

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

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

相关文章

【数据结构】二叉树概念 | 满二叉树 | 完全二叉树

二叉树的概念 二叉树在实践中用的很多。 一棵二叉树是结点的一个有限集合&#xff0c;该集合&#xff1a; 或者为空&#xff1b;由一个根结点加上两棵别称为左子树和右子树的二叉树组成。二叉树最多两个孩子。 这里注意&#xff1a;二叉树并不是度为2的树。 二叉树的度最大值是…

我叫:快速排序【JAVA】

1.自我介绍 1.快速排序是由东尼霍尔所发展的一种排序算法。 2.快速排序又是一种分而治之思想在排序算法上的典型应用。 3.本质上来看&#xff0c;快速排序应该算是在冒泡排序基础上的递归分治法。 2.思想共享 快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟…

GIT,解决远程分支冲突

背景&#xff1a;当远程分支A 与maste 有冲突如何解决–此时无法在这两个版本之间merge 1、切换到master分支&#xff1a; git checkout master 2、更新master分支代码&#xff1a; git pull 3、再次切换到自己新建的分支&#xff1a; git checkout add_login_check_func 4、将…

【腾讯云云上实验室-向量数据库】Tencent Cloud VectorDB在实战项目中替换Milvus测试

为什么尝试使用Tencent Cloud VectorDB替换Milvus向量库&#xff1f; 亮点&#xff1a;Tencent Cloud VectorDB支持Embedding&#xff0c;免去自己搭建模型的负担&#xff08;搭建一个生产环境的模型实在耗费精力和体力&#xff09;。 腾讯云向量数据库是什么&#xff1f; 腾…

硬件连通性测试为何很重要?

在现代企业和个人生活中&#xff0c;依赖于各种硬件设备的情况越来越普遍。硬件设备的正常运行对于业务和日常生活至关重要。硬件连通性测试是一种关键的质量保证手段&#xff0c;旨在确保各种硬件设备之间的通信和协作无障碍。本文将深入探讨硬件连通性测试的重要性。 系统可靠…

ToDesk提示通道限制 - 解决方案

问题 使用ToDesk进行远程控制时&#xff0c;免费个人账号最多支持1个设备同时发起远控&#xff0c;若使用此账号同时在2个设备发起远控&#xff0c;则会提示通道限制&#xff0c;如下图&#xff1a; 解决方案 方案1&#xff1a;断开其它远控 出现通道限制弹窗时&#xff0…

超级武器!深入LoadRunner性能测试流程及极速分析结果!

性能测试目的 1 什么是性能测试? 性能测试是通过性能的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 负载测试和压力测试都属于性能测试&#xff0c;两者可以结合进行。通过负载测试&#xff0c;确定在各种工作负载下系统的性能&#xff0…

竞赛选题 题目: 基于深度学习的疲劳驾驶检测 深度学习

文章目录 0 前言1 课题背景2 实现目标3 当前市面上疲劳驾驶检测的方法4 相关数据集5 基于头部姿态的驾驶疲劳检测5.1 如何确定疲劳状态5.2 算法步骤5.3 打瞌睡判断 6 基于CNN与SVM的疲劳检测方法6.1 网络结构6.2 疲劳图像分类训练6.3 训练结果 7 最后 0 前言 &#x1f525; 优…

Selenium实现多页面切换

当使用 Selenium 进行自动化测试或爬取数据时&#xff0c;有时需要处理多个页面之间的切换。以下是一些可能需要多页面切换的情况&#xff1a; 1、打开新窗口/页面&#xff1a; 在当前页面上点击链接、按钮或执行某些操作时&#xff0c;可能会打开一个新的窗口或页面。此时&a…

机器学习实战-第4章 基于概率论的分类方法: 朴素贝叶斯

朴素贝叶斯 概述 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。本章首先介绍贝叶斯分类算法的基础——贝叶斯定理。最后,我们通过实例来讨论贝叶斯分类的中最简单的一种: 朴素贝叶斯分类。 贝叶斯理论 & 条件概率 贝叶斯理论 …

反转链表系列问题

反转链表系列问题 作者&#xff1a;Grey 原文地址&#xff1a; 博客园&#xff1a;反转链表系列问题 CSDN&#xff1a;反转链表系列问题 反转单链表 题目描述见&#xff1a;LeetCode 206. Reverse Linked List 思路如下 对于任何一个节点 cur 来说&#xff0c;记录一个…

每日一题(LeetCode)----链表--两数相加

每日一题(LeetCode)----链表–两数相加 1.题目&#xff08;2. 两数相加&#xff09; 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返…

java飞翔的鸟

一.准备工作 首先创建一个新的Java项目命名为“飞翔的鸟”&#xff0c;并在src中创建一个包命名为“com.qiku.bird"&#xff0c;在这个包内分别创建4个类命名为“Bird”、“BirdGame”、“Column”、“Ground”&#xff0c;并向需要的图片素材导入到包内。 二.代码呈现 p…

Unity中Shader的Standard材质解析(一)

文章目录 前言一、在Unity中&#xff0c;按一下步骤准备1、在资源管理面板创建一个 Standard Surface Shader2、因为Standard Surface Shader有很多缺点&#xff0c;所以我们把他转化为顶点片元着色器3、整理只保留主平行光的Shader效果4、精简后的最终代码 前言 在Unity中&am…

Linux:文件系统初步理解

文章目录 文件的初步理解C语言中对文件的接口系统调用的接口位图的理解open调用接口 文件和进程的关系进程和文件的低耦合 如何理解一切皆文件&#xff1f; 本篇总结的是关于Linux中文件的各种知识 文件的初步理解 在前面的文章中有两个观点&#xff0c;1. 文件 内容 属性&…

MySQL数据库约束你真的懂吗?

✏️✏️✏️今天给各位带来的是关于数据库约束方面的知识 清风的CSDN博客 &#x1f61b;&#x1f61b;&#x1f61b;希望我的文章能对你有所帮助&#xff0c;有不足的地方还请各位看官多多指教&#xff0c;大家一起学习交流&#xff01; 动动你们发财的小手&#xff0c;点点关…

浅谈 JVM GC 收集器--系列(一)

又到一年大促时刻&#xff0c;今天我们一起探讨下JVM垃圾回收的问题&#xff0c;写代码的时候想一想如何减少FullGC问题的出现&#xff0c;因为一旦出现频繁FullGC&#xff0c;短时间内没有太好的解决办法&#xff0c;很有可能重启后服务接着FullGC&#xff0c;导致服务可用率降…

Vue3 + Vite + TSX + vue3-ace-editor 踩坑

前言 由于 ace-editor 官网并没有提供各个前端框架Vue&#xff0c;React&#xff0c;Angular的直接使用的适配版本&#xff0c; 所以本次使用的vue3-ace-editor 是个人开源者维护的版本&#xff0c;原生是支持 SFC 模版用的&#xff0c;由于我这里习惯使用 JSX 或 TSX的方式&a…

NSGA-III求解微电网多目标优化调度(MATLAB)

一、NSGA-III简介 NSGA-III算法由Kalyanmoy Deb和Himanshu Jain于 2014年提出。 参考文献&#xff1a;Deb K , Jain H . An Evolutionary Many-Objective Optimization Algorithm Using Reference Point-Based Nondominated Sorting Approach, Part I: Solving Problems With …

Keil Vision5—新建工程project

注意&#xff1a;创建的工程目录必须是纯英文目录 目录 1.开始配置 2.为该路径下新建个文件夹 3.选择器件 4.工程配置 4.右击魔术棒&#xff0c;设置参数 ​编辑 &#xff08;1&#xff09;target配置 &#xff08;2&#xff09;output配置 &#xff08;3&#xff09;c…