Element UI搭建使用过程

本章内容基于上一篇---Vue-cli搭建项目基础版

Vue-cli搭建项目----基础版-CSDN博客

官网地址:Element - The world's most popular Vue UI framework

介绍:完全基于Vue.js ,用于快速搭建用户界面.

第一步:安装ElementUI

在终端输入

javascript 复制代码
npm i element-ui -S

在main.js输入

在 main.js 中导入以下内容:

javascript 复制代码
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

如图所示

导入成功后

在Login.vue文件中随便导入一个组件检验是否成功

Login导入如图所示

导入成功

测试成功

第二步:搭建登陆界面

将Login.vue添加如下css代码

javascript 复制代码
<!-- 一个.vue文件是一个组件,可以理解为一个页面,但是和页面不同 
  内容都写在一个template标签中,
  template标签必须有一个根标签
-->
<template>
	 <div class="login_container">
	     <!-- 登录盒子-->
	     <div class="login_box">
	          <!-- 头像盒子-->
	          <div class="img_box">
	                <img src="./assets/logo.png" />
	          </div>
			  
			
				
		
	     </div>
	  </div>
</template>

<script>
/* 导出组件,并为组件定义数据,函数,生命周期函数 */
 export default{
	 data(){
		 return{
			 
		 }
	 },
	 methods:{
		 
	 }
 }
</script>

<style>
  .login_container{
    height: 100vh;
    margin: 0px;
    padding: 0px;
	background-image: url(assets/bg.jpg);
  }

    .login_box{
      width: 450px;
      height: 350px;
      background-color: #fff;
      border-radius: 10px;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%,-50%);
	  opacity: 0.95;
    }

    .img_box{
       width: 130px;
       height: 130px;
       position: absolute;
       left: 50%;
       transform: translate(-50%,-50%);
       background-color: #fff;
       border-radius: 50%;
       padding: 5px;
       border: 1px solid #eee;
    }
    
    .img_box img{
         width: 100%;
         height: 100%;
         border-radius: 50%;
         background-color: #eee;
     }
</style>

图片在asses中插入一张图.

呈现出如图所示效果

接下来在中间加入表单

根据需求在ElementUI官网赋值相应的代码组件

login.vue组件如下

javascript 复制代码
<!-- 一个.vue文件是一个组件,可以理解为一个页面,但是和页面不同 
  内容都写在一个template标签中,
  template标签必须有一个根标签
-->
<template>
	 <div class="login_container">
	     <!-- 登录盒子-->
	     <div class="login_box">
	          <!-- 头像盒子-->
	          <div class="img_box">
	                <img src="./assets/logo.png" />
	          </div>
			  
			<div style="margin-top: 100px; padding-right: 20px;">
				<el-form ref="form" label-width="80px">
					 <el-form-item label="账号">
					    <el-input v-model ="account"></el-input>
					  </el-form-item>
					  <el-form-item label="密码">
					     <el-input v-model = "passworld" show-password></el-input>
					   </el-form-item>
					   <el-button type="primary" @click="login()">登录</el-button>
					       <el-button>取消</el-button>
					</el-form>
			</div>
				
		
	     </div>
	  </div>
</template>

<script>
/* 导出组件,并为组件定义数据,函数,生命周期函数 */
 export default{
	 data(){
		 return{
			 account :"",
			 passworld:""
		 }
	 },
	 methods:{
		 login()//与数据库进行交互
		 {
			 //验证账号和密码不能为空
			 if(this.account.length==0){
				  this.$message({
				           showClose: true,
				           message: '账号不能为空',
				           type: 'warning',
						 });
						      return;
						 }
						 if(this.passworld.length==0){
						 				  this.$message({
						 				           showClose: true,
						 				           message: '密码不能为空',
						 				           type: 'warning',
						 				         });
												    return;
													}
								//后端相应一个结果
								this.$router.push("/main");				 						 
			 }
		 }
	 }	
</script>

<style>
  .login_container{
    height: 100vh;
    margin: 0px;
    padding: 0px;
	background-image: url(assets/bg.jpg);
  }

    .login_box{
      width: 450px;
      height: 350px;
      background-color: #fff;
      border-radius: 10px;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%,-50%);
	  opacity: 0.95;
    }

    .img_box{
       width: 130px;
       height: 130px;
       position: absolute;
       left: 50%;
       transform: translate(-50%,-50%);
       background-color: #fff;
       border-radius: 50%;
       padding: 5px;
       border: 1px solid #eee;
    }
    
    .img_box img{
         width: 100%;
         height: 100%;
         border-radius: 50%;
         background-color: #eee;
     }
</style>

实现效果

相关推荐
橙子199110168 小时前
UI 绘制相关
ui
Math_teacher_fan9 小时前
Flutter 跨平台开发实战:鸿蒙与音乐律动艺术(六)、Lissajous 利萨茹曲线:频率耦合的轨迹艺术
flutter·ui·数学建模·华为·harmonyos·鸿蒙系统
jiejiejiejie_14 小时前
Flutter for OpenHarmony 萌系 UI 实战合集:骨架屏 + 引导页一站式指南
flutter·ui·华为
Ulyanov14 小时前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》 开发环境搭建与工具链极简主义 —— 拒绝臃肿,构建工业级基座
开发语言·python·qt·ui·架构·系统仿真
Ulyanov15 小时前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》:QML 声明式语法与霓虹按钮 —— 当 Python 遇见现代美学
开发语言·python·ui·qml·系统仿真·雷达电子对抗仿真
薛定猫AI20 小时前
【深度解析】Open Code Skills 工作流:用知识图谱、Spec 驱动与 UI 设计系统提升 AI Coding Agent 生产力
人工智能·ui·知识图谱
ZC跨境爬虫20 小时前
跟着 MDN 学 HTML day_7:(进阶文本语义标签全覆盖)
前端·javascript·css·ui·html
ZC跨境爬虫20 小时前
跟着 MDN 学 HTML day_6:(HTML文本语义标签全解+lang属性)
前端·ui·html·edge浏览器
Ulyanov21 小时前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》:实时时钟与数据驱动 UI —— 从“事件回调”到“状态绑定”的范式跃迁
开发语言·python·qt·ui·架构·交互
qq_452396231 天前
第十五篇:《UI自动化中的稳定性优化:解决flaky tests的七种武器》
运维·ui·自动化