网站首页 > 教程分享 正文
1、前言
记录从零基础学习编写 element-ui项目的笔记,以防遗忘时可回溯温习。此文乃是笔者在开展从无到有编写 element-ui 项目的学习进程中所留存的笔记,同时涵盖了记录期间遭遇的部分问题及其解决之法,亦包含了些许个人的思考与见解。
2、前端页面布局
前端页面详情
本项目实现左右布局。左侧为菜单栏,左侧上方为logo+平台title;右侧上方栏为header栏,header栏左侧实现按钮折叠,右侧为用户信息;
整体项目结构如下:
前端页面布局实现
A、Layout页面实现
通过两个div实现左右布局。
<template>
<div class="layout">
<!-- layout 布局 左右两侧 -->
<div class = "menu">
<Menu :isCollapse="isCollapse"></Menu>
</div>
<div class = "content" :class="{small:isCollapse}">
<Content @changeShow ="changeShow" :isCollapse="isCollapse"></Content>
</div>
</div>
</template>
<script>
</script>
<style>
.layout{
display: flex;
width: 100%;
height: 100%;
.menu{
background: rgb(17, 47, 80);
}
.content{
top: 0px;
width: 100%;
}
/* .small{
width: 100%;
} */
}
</style>
实现效果如下:
B.Content页面实现
采用上下结构,上方为Header栏,下方为路由显现菜单详细页面。header栏左侧通过两个图标是否显示,并通过关联方法实现菜单折叠;header栏右侧通过user图标+swtich-button按钮实现。路由显示详情通过router-view实现。
<template>
<div>
<div class="header">
<div class="open-menu">
<i v-if="!isCollapse" class="el-icon-s-fold" @click="changeMenu"></i>
<i v-else class="el-icon-s-unfold" @click="changeMenu"></i>
</div>
<div class="header-right">
<span class="el-icon-user">欢迎 管理员</span> |
<span class="el-icon-switch-button"></span>
</div>
</div>
<router-view></router-view>
</div>
</template>
<script>
export default {
props: ['isCollapse'],
data() {
return {
}
},
methods: {
changeMenu() {
this.$emit('changeShow')
},
}
}
</script>
<style>
.header {
height: 50px;
background: rgb(114, 159, 241);
color: white;
line-height: 50px;
display: flex;
.open-menu {
flex: 1;
.el-icon-s-fold {
font-size: 22px;
cursor: pointer;
}
.el-icon-s-unfold {
font-size: 22px;
cursor: pointer;
}
}
.header-right {
align-items: center;
text-align: end;
display: flex;
width: 150px;
}
}
</style>
C、Menu页面实现
通过el-menu实现菜单,第一个菜单项为logo+title,第二个菜单项为首页。
<template>
<div>
<el-menu default-active="/" class="el-menu-vertical-demo" background-color="#112f50" text-color="#fff" active-text-color="#ffd04b" router :collapse="isCollapse">
<el-menu-item>
<img class="logo" src="../../assets/logo.png" alt="">
<span slot="title">工具平台</span>
</el-menu-item>
<el-menu-item index="/">
<i class="el-icon-menu"></i>
<span slot="title">首页</span>
</el-menu-item>
</el-menu>
</div>
</template>
<script>
export default {
props: ['isCollapse'],
data: {
}
}
</script>
<style >
.logo {
width: 20px;
}
.el-menu {
border-right: 0;
.is-active {
background: rgb(64, 121, 226) !important;
color: #ffff !important;
}
}
.el-menu-vertical-demo:not(.el-menu--collapse) {
width: 200px;
min-height: 400px;
}
</style>
项目代码:Juzi520/juzi-vue-template
element-ui操作手册:Element - The world's most popular Vue UI framework
猜你喜欢
- 2025-04-24 Element UI中el-tooltip与el-image的完美融合
- 2025-04-24 2022年优秀的Web前端UI框架推荐
- 2025-04-24 饿了么面试官:实现一下 Element-UI 官网的主题切换动画!
- 2025-04-24 ElementUI动态表单验证(多层嵌套)
- 2025-04-24 告别单调,Django后台主页改造 - 使用AdminLTE组件
- 2025-04-24 如何在vue中按需引入element-ui?
- 2025-04-24 从0开始学习element-ui开发-DAY3-前端API接口
- 2025-04-24 有人告诉你「Popover气泡卡片」这么好用吗
- 2025-04-24 测试开发不会前端?ElementUI你需要了解一下
- 2025-04-24 B端UI框架绝非elementUI和AntDesign,还有字节跳动的ArcoDesign
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)