Element UI前端页面

1.前端 

如何用ElementUI快速搭建一个前端网页模板,接下来会详细讲解!

1.Container布局

这是ElementUI官网提供的能快速搭建一个网页的基本布局模式,以下是一个网页的基本架构模式,主要分为三大块:

  • Aside
  • Header
  • Main

 我们可以采用Container布局先来给网页定一个基本架构

<template>
  <body>
  <div>
    <el-container> 
      <el-aside> 
        侧边栏       
      </el-aside>
      <el-container>
        <el-header>
          头部
        </el-header>

        <el-main>
          主体
        </el-main>
      </el-container>
    </el-container>
  </div>
  </body>

</template>

2.定义aside

给aside模块一点样式

  • width:宽度
  • min-height: 100vh 设置最小高度,这里的100vm是整个窗口的高度,相当于是把窗口分成了100份,我选择100vm就相当于选择了全部
<el-aside style="width: 200px;min-height: 100vh;background-color: #001529;">
</el-aside>

 效果展示:

注意:由于网页的body里的margin默认是8px,所以我们设计的侧边栏总是和窗口边框差一点距离,这样影响美观,所以在style中把margin设置成0px,如下: 

<style>
  body{
    margin: 0px !important;
  }
</style>

3.定义logo

logo是归于Aside内部的,所以要在aside标签内部定义,如下

<template>
  <body>
  <div>
    <el-container> 
      <el-aside> 
        侧边栏
        <div>
          logo
        </div>       
      </el-aside>
      <el-container>
        <el-header>
          头部
        </el-header>

        <el-main>
          主体
        </el-main>
      </el-container>
    </el-container>
  </div>
  </body>

</template>

接下来我们给logo添加一点样式,如下

  • height:设置div高度
  • display:flex;align-items: center;justify-content: center; 这三个是一起的后面两个是设置文字位置竖直居中和水平居中,要想这样设置,就必须先通过第一个diplay属性变成flex布局
  • color:设置文字颜色
  <div style="height: 60px;
              line-height: 60px;
              display: flex;
              align-items: center;
              justify-content: center;
              color:white;">
     <span>
       logo 
     </span>
  </div>

 4.定义导航栏

导航栏样式,有几个属性需要注意:

  • router:绑定路由,和下面的index属性配合使用,index属性后面填写具体路由,点击之后就能页面跳转
  • text-color:文字颜色
  • active-text-color:鼠标悬停之后的文字颜色
<!--侧边导航栏-->
        <!--route属性表示绑定了路由-->
                <el-menu default-active="1"
                         background-color="#001529"
                         text-color="rgba(255,255,255,0.85)"
                         active-text-color="#fff"
                         style="border:none">
                  <el-menu-item index="1">
                      <i class="el-icon-house"></i>
                      <span>系统首页</span>
                  </el-menu-item>
                  <el-menu-item index="2">
                    <i class="el-icon-s-tools"></i>
                    <span>信息管理</span>
                  </el-menu-item>
                  <el-menu-item>
                    <i class="el-icon-user-solid"></i>
                    <span>用户管理</span>
                  </el-menu-item>
                  <el-submenu>
                    <template slot="title">
                      <i class="el-icon-star-on"></i>
                      <span>财务报表</span>
                    </template>
                      <el-menu-item-group>
                        <el-menu-item>
                          <span>员工财务</span>
                        </el-menu-item>
                        <el-menu-item>
                          <span>员工财务</span>
                        </el-menu-item>
                      </el-menu-item-group>
                  </el-submenu>
                </el-menu>

以上还包括了二级导航栏,下面来制作鼠标悬停之后的样式,选中某个栏目之后的样式,需要在style中使用class选择器来完善

  • .el-menu-item:hover 鼠标悬停之后
  • .el-menu-item.is-active 被激活之后
 .el-menu-item:hover {
    background-color: #40a9ff !important;
  }
  .el-menu-item.is-active{
    background-color: #40a9ff !important;
  }

 效果展示:

5.定义header

头部主要加了两个功能。一个是面包屑,一个是垂直下拉

  <!--Header-->
        <el-header>
          <i class="el-icon-menu"></i>
          <el-breadcrumb separator-class="el-icon-arrow-right" style="margin-left:20px;">
            <el-breadcrumb-item replace :to="{ path:'/HomeView' }">系统首页</el-breadcrumb-item>
            <el-breadcrumb-item replace :to="{ path: '/' }">活动管理</el-breadcrumb-item>
          </el-breadcrumb>

          <div style="flex:1;display: flex;align-items: center;justify-content: flex-end">
            <el-dropdown>
              <div>
                <el-avatar icon="el-icon-user-solid"></el-avatar>
              </div>
              <el-dropdown-menu slot="dropdown" >
                <el-dropdown-item>个人信息</el-dropdown-item>
                <el-dropdown-item>修改密码</el-dropdown-item>
                <el-dropdown-item>退出登录</el-dropdown-item>
              </el-dropdown-menu>
            </el-dropdown>
          </div>

        </el-header>

6.定义main

main的部分加了两个div,主要是table表的展示

        <el-main>
          <div class="box1" style="width: 1280px;height: 50px;border-radius: 5px;margin-left:5px;display: flex;align-items: center" >
             <span style="margin-left: 20px;color:grey">愿您每天都充满美好</span>
          </div>

          <div class="box2" style="width: 1280px;height: 400px;border-radius: 5px;margin-left:5px;margin-top:5px" >
             <el-table :data="users">
               <el-table-column label="ID" prop="id"></el-table-column>
               <el-table-column label="姓名" prop="name"></el-table-column>
               <el-table-column label="住址" prop="address"></el-table-column>
               <el-table-column label="症状" prop="symptom"></el-table-column>
             </el-table>
          </div>
        </el-main>

css样式

.box1{
  box-shadow: 2px 0 6px rgba(0,21,41,.35);

  margin-right: 10px;
}

.box2{
    box-shadow: 2px 0 6px rgba(0,21,41,.35);

}

PS:logo区域之前主要是为了和侧边栏的其他部分做一个区分才随便弄了一个样式,由于太丑了所以换了>_< 

<i class="el-icon-platform-eleme" style="font-size: 24px">Hello World</i>

效果展示:

2.实现前后端表单数据展示

2.1.前端程序

首先前端要给后台发送请求,一般要用到axios插件,所以要先下载axios插件,并且导入

import axios from "axios";

然后在form表单上绑定数据,采用data属性来给table表传输数据,我们需要从后台动态的给users参数来传输数据

Element UI官方解释: 

然后我们要在Vue对象的数据区中创建一个users,这个users是一个数组类型

接下来就是给后台发送请求,并且接收后台传输的数据,并且封装给users即可

 请求我们放在mount钩子函数中,当页面加载完之后,就向后台发送请求,如下

  •  采用的请求方式是get
  • res中就封装的是后台发送给前端的数据
  • res.data.data表示res中专门用来存储数据的data中的data对象,第二个data对象中就装的是后台传递的数据,然后把他交给前端的users

 2.2.后端程序

这里就不展现连接数据库,mapper层,service层的代码了,就直接展示controller层

在编写controller层之前,我们需要先编写一个通用的返回类,专门用来封装后台返回给前端的数据,如下

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result {
    public static final String CODE_SUCCESS = "200";
    public static final String CODE_AUTH_ERROR = "401";
    public static final String CODE_SYS_ERROR = "500";

    private String code;
    private String msg;
    private Object data;

    public static Result success(){
        return new Result(CODE_SUCCESS,"请求成功",null);
    }

    public static Result success(Object data){
        return new Result(CODE_SUCCESS,"请求成功",data);
    }

    public static Result error(String msg){
        return new Result(CODE_SYS_ERROR,msg,null);
    }

    public static Result error(String code,String msg){
        return new Result(code,msg,null);
    }

    public static Result error(){
        return new Result(CODE_SYS_ERROR,"请求失败",null);
    }
}

controller层程序

这里要介绍下,由于前端的端口是8081,后端的端口是8081,为了解决跨域问题,所以加上了@CrossOrigin注解

@CrossOrigin
@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @GetMapping("/select")
    public Result selectAllUser(){
        List<User> users = userMapper.selectAllUser();
        for (User user : users) {
            System.out.println(user);
        }
        return Result.success(users);
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【用户案例】太美医疗基于Apache DolphinScheduler的应用实践

大家好&#xff0c;我叫杨佳豪&#xff0c;来自于太美医疗。今天我为大家分享的是Apache DolphinScheduler在太美医疗的应用实践。今天的分享主要分为四个部分&#xff1a; 使用历程及选择理由稳定性的改造功能定制与自动化部署运维巡检与优化 使用历程及选择理由 公司介绍 …

搭建前后端的链接(java)

搭建前后端的链接(java) 一.前提 1.1 javaEE 搭建前后端的链接首先需要用到javaEE&#xff0c;也就是java企业版&#xff0c;也就是java后端(后端javaSE) 利用javaEE和前端交互&#xff0c;javaSE和数据库交互&#xff0c;javaSE和javaEE之间再进行交互就实现了前后端的交互…

(源码+部署+讲解)基于Spring Boot + Vue的车位租赁系统设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2024年Java精品实战案例《100套》 &#x1f345;文末获取源码联系&#x1f345; &#x1f31f;…

Mysql-数据库集群的搭建以及数据库的维护

一、数据库的维护 1.数据库的备份与恢复 1&#xff09;备份指定数据库 #mysqldump -u root -p zx > ./zx.dump 2&#xff09;备份所有库 #mysqldump -u root -p --all-databases > ./all.dump 3)恢复所有库 #mysql -u root -p < ./all.dump 4)恢复指定数据库 #mysq…

最新剧透前沿信息GPT-5或将今年发布

GPT2 很糟糕 &#xff0c;GPT3 很糟糕 &#xff0c;GPT4 可以 &#xff0c;但 GPT5 会很好。 PS:GPT2 很糟糕,3 很糟糕,4 可以,5 很可以。 如果想升级GPT4玩玩&#xff0c;地址 今年发布的具有推理功能的 GPT5不断发展&#xff0c;就像 iPhone 一样 Sam Altman 于 17 日&am…

超级详细的 Maven 教程(基础+高级)

1. Maven 是什么 Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具。 一个 Maven 工程有约定的目录结构&#xff0c;约定的目录结构对于 Maven 实现自动化构建而言是必不可少的一环&#xff0c;就拿自动编译来说&#xff0c;Maven 必须…

《论文阅读》构建情感共识并利用未配对数据生成共情对话 ACL 2021

《论文阅读》构建情感共识并利用未配对数据生成共情对话 ACL 2021 前言简介模型构架损失函数实验结果前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《Constructing Emotion Consensus and Utilizing …

我的创作纪念日❤2024/4/9

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

《前端面试题》- CSS - CSS选择器的优先级

行内样式1000 d选择器100 属性选择器、class或者伪类10 元素选择器&#xff0c;或者伪元素1 通配符0 参考网址&#xff1a;https://blog.csdn.net/jbj6568839z/article/details/113888600https://www.cnblogs.com/RenshuozZ/p/10327285.htmlhttps://www.cnblogs.com/zxjwlh/p/6…

uniapp 地图分幅网格生成 小程序基于map组件

// 获取小数部分 const fractional function(x) {x Math.abs(x);return x - Math.floor(x); } const formatInt function(x, len) {let result x;len len - result.length;while (len > 0) {result 0 result;len--;}return result; }/*** 创建标准分幅网格* param …

unity数组

数组的定义 动态初始化:在定义数组时只指定数组的长度&#xff0c;由系统自动为元素赋初值的方式。 静态初始化:定义数组的同时就为数组的每个元素赋值 数组的静态初始化有两种方式 1、类型门数组名new 类型[]{元素&#xff0c;元素&#xff0c;…}; 2、类型[数组名{元素&am…

SSL数字证书

SSL数字证书产品提供商主要来自于国外&#xff0c;尤其是美国&#xff0c;原理和使用操作系统一样&#xff0c;区别在于SSL数字证书目前无法替代性&#xff0c;要想达到兼容性99%的机构目前全球才3-4家&#xff0c;目前国内的主流网站主要使用的是国际证书&#xff0c;除了考虑…

爬虫 新闻网站 以湖南法治报为例(含详细注释) V4.0 升级 自定义可任意个关键词查询、时间段、粗略判断新闻是否和优化营商环境相关,避免自己再一个个判断

目标网站&#xff1a;湖南法治报 爬取目的&#xff1a;为了获取某一地区更全面的在湖南法治报的已发布的和优化营商环境相关的宣传新闻稿&#xff0c;同时也让自己的工作更便捷 环境&#xff1a;Pycharm2021&#xff0c;Python3.10&#xff0c; 安装的包&#xff1a;requests&a…

K8S哲学 - kubectl

Kubectl is the Kubernetes cli version of a swiss army knife, and can do many things. Kubernetes coordinates a highly available cluster of computers that are connected to work as a single unit k8s production-ready. 概念 kubectl 和 Kubernetes API 区别

使用Docker Registry-v2搭建镜像仓库详细教程

我们使用docker来部署私有化镜像仓库… 1、下载 registry:v2 镜像 docker pull registry:22、在私有仓库所在的主机目录新建一个文件夹&#xff0c;用于持久化保存仓库中的镜像 mkdir -p /opt/registry3、启动registry镜像 使用docker镜像启动私有仓库容器服务&#xff0c;…

【azure笔记 1】容器实例管理python sdk封装

容器实例管理python sdk封装 测试结果 说明 这是根据我的需求写的&#xff0c;所以有些参数是写死的&#xff0c;比如cpu核数和内存&#xff0c;你可以根据你的需要自行修改。前置条件&#xff1a; 当前环境已安装python3.8以上版本和azure cli并且已经登陆到你的账户 依赖安…

网络基础三——IP协议补充和Mac帧协议

全球网络及网段划分的理解 ​ 根据国家组织地区人口综合评估进行IP地址范围的划分&#xff1b; ​ 假设前8位用来区分不同的国家&#xff0c;国际路由器负责全球数据传输&#xff0c;子网掩码为IP/8&#xff1b;次6位区分不同的省份&#xff0c;国内路由器负责全国数据的传输…

【CSS】MDN

一、CSS构建 1.1 CSS选择器 1.1.1 元素选择器 标签不区分大小写 示例&#xff1a; span {background-color: yellow; }1.1.2 通用选择器 选择文档中所有内容&#xff0c;重置样式表中使用较多 鉴于div:first-child&#xff08;代表所有的div元素&#xff0c;并且是第一个…

杨辉三角形(蓝桥杯,acwing)

题目描述&#xff1a; 下面的图形是著名的杨辉三角形&#xff1a; 如果我们按从上到下、从左到右的顺序把所有数排成一列&#xff0c;可以得到如下数列&#xff1a; 1, 1, 1, 1, 2, 1, 1, 3, 3, 1, 1, 4, 6, 4, 1, ... 给定一个正整数 N&#xff0c;请你输出数列中第一次出现…

OpenAI曾转录100万小时视频数据,训练GPT-4

4月7日&#xff0c;纽约时报在官网发布了一篇名为《科技巨头如何挖空心思&#xff0c;为AI收集数据》的技术文章。 纽约时报表示&#xff0c;OpenAI曾在2021年几乎消耗尽了互联网有用的文本数据源。为了缓解训练数据短缺的难题&#xff0c;便开发了知名开源语音识别模型Whispe…