search
HomeWeb Front-endJS TutorialHow to build element-ui (detailed tutorial)
How to build element-ui (detailed tutorial)Jun 05, 2018 am 09:40 AM
element-uiTutorialdetailed

Below I will share with you an example of Vue front-end engineering operation for building element-ui. It has a good reference value and I hope it will be helpful to everyone.

1. Install npm image

#(1) Download node.js and configure the environment variables of node.js

Check whether the PATH environment variable is configured with Node.js, click Start=》Run=》Enter "cmd" => Enter the command "path"

Check the Node.js version

Enter in the command window: npm install -g cnpm –registry=https://registry.npm.taobao.org

2. Install global vue-cli

(1) npm install -g vue-cli and press Enter to verify whether the installation is successful. On the command line Enter vue, and the vue information comes out indicating that the installation is successful

3. Global installation of vue-cli

(1) npm install --global vue-cli

4. Create a new project based on the webpack template

(1) vue init webpack my-project (project name)
(2)cd my-project
(3)npm install
(4)npm run dev

5. Environment to be installed

(1) npm install sass-loader --save-dev
(2) npm install gulp-sass
(3) npm install -- save axios
(4) npm install element-ui -S
(5) npm install vuex --save

6. Packages that need to be introduced (element-ui)

(1) import ElementUI from 'element-ui'
(2) import 'element-ui/lib/theme-default/index.css'
(3 ) import Vue from 'vue'
(4) Use: Vue.use(ElementUI)

7. Project code structure

Project source code: https://github.com/davis0511/school-ui

(1)

(2) Home.vue

<template>
	<el-row class="container">
		<el-col :span="24" class="header">
		 <el-col :span="20" class="logo">
		  <img  src="/static/imghwm/default1.png"  data-src="./assets/logo4.png"  class="lazy"   / alt="How to build element-ui (detailed tutorial)" > <span>学校管理<i class="txt">系统</i></span>
		 </el-col>
		 <el-col :span="4" class="userinfo">
				<el-dropdown trigger="click">
					<span class="el-dropdown-link userinfo-inner"><img  src="/static/imghwm/default1.png"  data-src="this.sysUserAvatar"  class="lazy"  : / alt="How to build element-ui (detailed tutorial)" > {{sysUserName}}</span>
						<el-dropdown-menu slot="dropdown">
						<el-dropdown-item>我的消息</el-dropdown-item>
						<el-dropdown-item>设置</el-dropdown-item>
						<el-dropdown-item pided @click.native="logout">退出登录</el-dropdown-item>
					</el-dropdown-menu>
				</el-dropdown>
		  </el-col>
		</el-col>
		<el-col :span="24" class="main">
			<aside>
			<el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen" @close="handleclose" @select="handleselect"
			theme="dark" unique-opened router>
				<template v-for="(item,index) in $router.options.routes" v-if="!item.hidden">
					<el-submenu :index="index+&#39;&#39;" v-if="!item.leaf">
						<template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template>
						<el-menu-item v-for="child in item.children" :index="child.path" v-if="!child.hidden">{{child.name}}</el-menu-item>
					</el-submenu>
					<el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i :class="item.iconCls"></i>{{item.children[0].name}}</el-menu-item>
				</template>
			</el-menu>
			</aside>
			<section class="content-container">
				 <p class="grid-content bg-purple-light">
					<el-col :span="24" class="breadcrumb-container">
						<strong class="title">{{$route.name}}</strong>
						<el-breadcrumb separator="/" class="breadcrumb-inner">
							<el-breadcrumb-item v-for="item in $route.matched">
								 {{ item.name }}
							</el-breadcrumb-item>
						</el-breadcrumb>
					</el-col>
					<el-col :span="24" class="content-wrapper">
						<transition>
						<router-view></router-view>
						</transition>
					</el-col>
				</p>
			</section>
		</el-col>
	</el-row>
</template>
<script>
 export default{
		data() {
			return { 
				sysUserName:&#39;&#39;
			}
	 },
		methods:{
				onSubmit() {
				console.log(&#39;submit!&#39;);
				},
				handleopen() {
				//console.log(&#39;handleopen&#39;);
				},
				handleclose() {
				//console.log(&#39;handleclose&#39;);
				},
				handleselect: function (a, b) {
				},
				//退出登录
				logout: function () {
					var _this = this;
					this.$confirm(&#39;确认退出吗?&#39;, &#39;提示&#39;, {
					//type: &#39;warning&#39;
					}).then(() => {
					sessionStorage.removeItem(&#39;user&#39;);
					_this.$router.push(&#39;/login&#39;);
					}).catch(() => {
      
				}); 
			}
		}
 }
</script> 
<style scoped lang="scss">
.container {
	position: absolute;
	top: 0px;
	bottom: 0px;
	width: 100%;
	.header {
		height: 60px;
		line-height: 60px;
		background: #1F2D3D;
		color: #c0ccda;
		.userinfo {
				text-align: right;
				padding-right: 35px;
				.userinfo-inner {
				color: #c0ccda;
				cursor: pointer;
				img {
				width: 40px;
				height: 40px;
				border-radius: 20px;
				margin: 10px 0px 10px 10px;
				float: right;
				}
			}
		}
		.logo {
			font-size: 22px;
			img {
			width: 40px;
			float: left;
			margin: 10px 10px 10px 18px;
			}
			.txt {
			color: #20a0ff
			}
		}
	}
	.main {
		background: #324057;
		position: absolute;
		top: 60px;
		bottom: 0px;
		overflow: hidden;
		aside {
		width: 230px;
		}
	.content-container {
		background: #f1f2f7;
		position: absolute;
		right: 0px;
		top: 0px;
		bottom: 0px;
		left: 230px;
		overflow-y: scroll;
		padding: 20px;
		.breadcrumb-container {
			margin-bottom: 15px;
			.title {
				width: 200px;
				float: left;
				color: #475669;
			}
			.breadcrumb-inner {
				float: right;
			}
  }
	 .content-wrapper {
			background-color: #fff;
			box-sizing: border-box;
	 }
  }
 }
}
</style>

(3)App.vue

##(4)main.js

import Vue from &#39;vue&#39;
import Router from &#39;vue-router&#39; 
import App from &#39;./App&#39;
import routes from &#39;./router&#39;
import ElementUI from &#39;element-ui&#39;
import &#39;element-ui/lib/theme-default/index.css&#39;
Vue.use(Router) 
Vue.use(ElementUI)
const router = new Router({
 routes
});
Vue.config.productionTip = false
new Vue({ 
 router, 
 render: h => h(App)
}).$mount(&#39;#app&#39;)

(5)router.js

import Home from &#39;./Home&#39; 
import classes from &#39;./class/classes&#39; 
import student from &#39;./student/student&#39; 
let router = [
 {
  path: &#39;/&#39;,
  name: &#39;学校&#39;,
  component: Home,
  redirect: &#39;/classes&#39;,
 iconCls: &#39;fa fa-id-card-o&#39;,
 children: [
{ path: &#39;/classes&#39;, component: classes, name: &#39;班级管理&#39; },
{ path: &#39;/student&#39;, component: student, name: &#39;学生管理&#39; }
  ] 
 }
]; 
export default router;

##8. After completion, npm run dev; The interface rendering is as follows:

The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.

Related articles:

How to use puppeteer to crack the sliding verification code of JiExperience


How to use elementUI to implement in Vue Custom theme method


#Bind events to dynamically generated tags in jquery (detailed tutorial)


The above is the detailed content of How to build element-ui (detailed tutorial). For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Vue实现文件上传的完整指南(axios、element-ui)Vue实现文件上传的完整指南(axios、element-ui)Jun 09, 2023 pm 04:12 PM

Vue实现文件上传的完整指南(axios、element-ui)在现代Web应用程序中,文件上传已经成为一项基本的功能。无论是上传头像、图片、文档或者视频,我们都需要一个可靠的方法来将文件从用户的计算机上传到服务器中。本文将为您提供一份详细的指南,介绍如何使用Vue、axios和element-ui来实现文件上传。什么是axiosaxios是一个基于prom

如何使用Vue和Element-UI实现日历和日期选择功能如何使用Vue和Element-UI实现日历和日期选择功能Jul 22, 2023 pm 05:30 PM

如何使用Vue和Element-UI实现日历和日期选择功能简介:在前端开发中,日历和日期选择功能是非常常见的需求之一。Vue和Element-UI是一对非常强大的开发工具,结合它们可以轻松实现日历和日期选择功能。本文将介绍如何使用Vue和Element-UI来创建一个简单的日历和日期选择功能,并提供代码示例,帮助读者了解实现的具体步骤和方法。准备工作:在开始

如何使用Vue和Element-UI实现图片懒加载功能如何使用Vue和Element-UI实现图片懒加载功能Jul 22, 2023 pm 04:05 PM

如何使用Vue和Element-UI实现图片懒加载功能懒加载(Lazyloading)是一种通过延迟加载图片的技术,可以有效提升页面加载速度,节省带宽并改善用户体验。在Vue项目中,我们可以借助Element-UI和一些插件来实现图片懒加载功能。本文将介绍如何使用Vue和Element-UI来实现图片懒加载,并附上相应的代码示例。一、安装必要的依赖在开始之

如何使用Vue和Element-UI实现拖拽排序功能如何使用Vue和Element-UI实现拖拽排序功能Jul 22, 2023 pm 04:12 PM

如何使用Vue和Element-UI实现拖拽排序功能前言:在Web开发中,拖拽排序功能是一项常见且实用的功能。本文将介绍如何使用Vue和Element-UI来实现拖拽排序功能,通过代码示例演示实现过程。一、环境搭建安装Node.js在开始之前,需要安装Node.js。可以访问https://nodejs.org/下载并安装对应操作系统的版本。安装VueCL

如何使用Vue和Element-UI实现消息通知功能如何使用Vue和Element-UI实现消息通知功能Jul 21, 2023 pm 12:40 PM

如何使用Vue和Element-UI实现消息通知功能随着前端技术的不断发展,越来越多的网站和应用程序需要实现消息通知功能,以便及时向用户展示重要的信息。在Vue开发中,结合Element-UI框架可以快速实现这一功能。本文将详细介绍如何使用Vue和Element-UI来实现消息通知功能,并提供相关的代码示例。一、准备工作在使用Vue和Element-UI实现

如何使用Vue和Element-UI实现多级联动下拉框功能如何使用Vue和Element-UI实现多级联动下拉框功能Jul 20, 2023 pm 11:43 PM

如何使用Vue和Element-UI实现多级联动下拉框功能引言:在Web开发中,多级联动下拉框是一种常见的交互方式。通过选择一个下拉框的选项,可以动态改变后续下拉框的内容。本文将介绍如何使用Vue和Element-UI来实现这一功能,并提供代码示例。一、准备工作首先,我们需要确保已经安装好Vue和Element-UI。可以通过以下命令进行安装:npmins

如何使用Vue和Element-UI创建响应式网页界面如何使用Vue和Element-UI创建响应式网页界面Jul 20, 2023 pm 11:01 PM

如何使用Vue和Element-UI创建响应式网页界面在Web开发中,响应式设计是一种必不可少的技术。Vue.js和Element-UI是两个非常受欢迎的前端框架,它们都提供了丰富的工具和组件来构建现代化的响应式网页界面。本文将介绍如何使用Vue和Element-UI来创建响应式网页界面,并将通过代码示例来呈现具体的实现过程。首先,我们需要确保已经安装了Vu

如何使用Vue和Element-UI实现数据的筛选和搜索功能如何使用Vue和Element-UI实现数据的筛选和搜索功能Jul 21, 2023 pm 08:40 PM

如何使用Vue和Element-UI实现数据的筛选和搜索功能在现代Web开发中,数据的筛选和搜索功能是非常常见和重要的需求。Vue和Element-UI是目前非常流行的前端框架,它们提供了很多强大的工具和组件,可以帮助我们轻松实现数据的筛选和搜索功能。本文将介绍如何使用Vue和Element-UI来实现这些功能,并提供详细的代码示例。首先,我们需要准备一个用

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools