Element UI前端页面

news2024/12/22 19:50:48

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);
    }
}

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

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

相关文章

SpringBoot快速入门笔记(7)

文章目录 VueRouter前端路由1、简介2、RouterDemo3、子路由4、动态路由 VueRouter前端路由 1、简介 Vue的单页面应用是基于路由和组件的&#xff0c;不同组件的切换需要前端路由完成 vue-router3只能结合vue2&#xff0c;vue-router4只能结合vue3 安装 npm install vue-router…

FreeGPT3.5 开源软件

GPT-3.5不需要付费&#xff0c;也不需要注册用户&#xff0c;可以直接使用了&#xff0c;官方彻底开放了API接口。 该API政策一放开&#xff0c;GitHub很快就已经出现了一个开源项目FreeGPT35&#xff0c;可以自动生成key调用GPT3.5的API接口&#xff0c;再也用不着注册账号和申…

Hololens2远程音视频通话与AR远程空间标注,基于OpenXR+MRTK3+WebRTC实现

Hololens2远程音视频通话与AR远程空间标注 使用Unity2021.3.21版本开发&#xff0c;基于OpenXRMRTK3.0WebRTC实现。 &#xff08;1&#xff09;通过视频获取视频帧的矩阵的方法可以参考&#xff1a;https://learn.microsoft.com/zh-cn/windows/mixed-reality/develop/advanced…

强化学习:基础开发

基本就是把看到有用的资料整合在一起了 资料 https://blog.csdn.net/weixin_48878618/article/details/133590646 https://blog.csdn.net/weixin_42769131/article/details/104783188?ops_request_misc%257B%2522request%255Fid%2522%253A%2522166792845916800182132771%25…

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

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

Angular 使用DomSanitizer

跨站脚本Cross-site scripting 简称XSS&#xff0c;是代码注入的一种&#xff0c;是一种网站应用程序的安全漏洞攻击。它允许恶意用户将代码注入到网页上&#xff0c;其他用户在使用网页时就会收到影响&#xff0c;这类攻击通常包含了HTML和用户端脚本语言&#xff08;JS&…

echarts 条形图(柱状图)多个图例按钮默认高亮一个,且只能高亮一个

核心&#xff1a;给图例按钮添加点击事件 myChart.on("legendselectchanged", function (params) {let selected {功率柜: true,母线柜: false,充电桩终端: false,网络柜: false,};for (let key in selected) {if (key ! params.name) {myChart.setOption({legend:…

数据结构之来链表——单链表

什么是单链表&#xff1a; 文字说明&#xff1a; 单链表顾名思义&#xff0c;就是指单项链表&#xff0c;即只有一个方向的链性线性表。 图解&#xff1a; 如下图所示&#xff0c;即为链表&#xff08;DATA为我们自己所定义的数据类型&#xff09;&#xff1a; 单链表的创建&am…

【jQuery】jQuery框架

目录 1.jQuery基本用法 1.1选择器 1.2jQuery对象 1.3事件绑定 1.4链式编程 1.5过滤方法 1.6样式操纵 1.6属性操纵 1.7操作value 1.8查找方法 1.9类名操纵 1.10事件进阶 1.11触发事件 1.12window事件绑定 2.节点操作与动画 2.1获取位置 2.2滚动距离 2.3显示/隐…

使用阿里云试用Elasticsearch学习:4. 聚合——1

在这之前&#xff0c;本书致力于搜索。 通过搜索&#xff0c;如果我们有一个查询并且希望找到匹配这个查询的文档集&#xff0c;就好比在大海捞针。 通过聚合&#xff0c;我们会得到一个数据的概览。我们需要的是分析和总结全套的数据而不是寻找单个文档&#xff1a; 在大海里…

ONERugged车载平板终端:提升港口运输水平

现代港口是国际贸易中至关重要的枢纽&#xff0c;而提高港口运输效率对于促进贸易流通和经济发展至关重要。近年来&#xff0c;车载平板技术的快速发展为港口运输行业带来了巨大的变革和机遇。车载平板的广泛应用不仅提高了港口的操作效率&#xff0c;还改善了货物跟踪、通信和…

【第七篇】使用BurpSuite进行主动、被动扫描和主动、被动爬虫

文章目录 前言主动扫描被动扫描主动爬虫被动爬虫前言 Burp Scanner 既可以用作全自动扫描仪,也可以用作增强手动测试工作流程的强大手段。 扫描网站涉及两个阶段: 抓取内容和功能: Burp Scanner 首先在目标站点周围导航,密切反映真实用户的行为。它对站点的结构和内容以及…

MATLAB Simulink仿真搭建及代码生成技术—01自定义新建模型模板

MATLAB Simulink仿真搭建及代码生成技术 目录 01-自定义新建模型模板点击运行&#xff1a;显示效果&#xff1a;查看模型设置&#xff1a; 01-自定义新建模型模板 新建模型代码如下&#xff1a; function new_model(modelname) %建立一个名为SmartAss的新的模型并打开 open_…

STM32-模数转化器

ADC(Analog-to-Digital Converter) 指模数转换器。是指将连续变化的模拟信号转换 为离散的数字信号的器件。 ADC相关参数说明&#xff1a; 分辨率&#xff1a; 分辨率以二进制&#xff08;或十进制&#xff09;数的位数来表示&#xff0c;一般有 8 位、10 位、12 位、16 位…

Linux登录访问限制

Linux系统下&#xff0c;用户密码的有效期可以通过编辑/etc/login.defs文件控制&#xff1b;密码复杂度规则设定需要通过/etc/pam.d/system-auth文件控制&#xff1b;登录失败次数限制通常由/etc/pam.d/login文件限制&#xff0c;可使用pam_tally2模块进行设置。 Linux系统下的…

uniapp小程序下载并导出excel

<button click"confirmExport">导出excel</button>confirmExport() {let header {"X-Access-Token": uni.getStorageSync(ACCESS_TOKEN), //自定义请求头信息} let url "http"/......"; // 后端API地址uni.request({url: ur…

【神经网络】生成对抗网络GAN

生成对抗网络GAN 欢迎访问Blog总目录&#xff01; 文章目录 生成对抗网络GAN1.学习链接2.GAN结构2.1.生成模型Generator2.2.判别模型Discrimintor2.3.伪代码 3.优缺点3.1.优势3.2.缺点 4.pytorch GAN4.1.API4.2.GAN的搭建4.2.1.结果4.2.2.代码 4.3.示意图:star: 1.学习链接 …

0.开篇:SSM+Spring Boot导学

1. 为什么要使用框架 Spring是一个轻量级Java开发框架&#xff0c;最早有Rod Johnson创建&#xff0c;目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。 几乎当下所有企业级JavaEE开发都离不开SSM&#xff08;Spring SpringMVC MyBatis&#xff09;Spring B…

计算机视觉——Python OpenCV BGR转HSV

这里将介绍如何使用 OpenCV 与 Python 来作彩色影像转HSV(RGB to HSV 或 BGR to HSV)&#xff0c;在写 Python 影像处理程序时常会用到 OpenCV cvtColor 作颜色空间转换的功能&#xff0c;接下来介绍怎么使用 Python 搭配 OpenCV 模块来进行 RGB/BGR 转 HSV 彩色转HSV空间。 H…

中科方德服务器操作系统安装zabbix5.0

原文链接&#xff1a;中科方德服务器操作系统安装zabbix5.0 Hello&#xff0c;大家好啊&#xff01;接着我们上一次的讨论&#xff0c;今天我要为大家介绍如何在已经安装好的中科方德服务器操作系统基础上&#xff0c;安装和配置Zabbix 5.0。Zabbix是一个开源的监控软件工具&am…