Vue3与Element-plus整合及项目实战

内容导读

1. Element-plus的概述
2. vue3与Element-plus整合
3. Element-plus基本应用

一、Element-plus概述

1. Element-plus简介

是ElementUI的升级版,是一套基于vue2与vue3的桌面端组件库,它提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。

官方中文站点:一个 Vue 3 UI 框架 | Element Plus

2. 安装Element-plus

安装步骤:

(1)确保已安装好node.js-v21.7及以上版本。

(2)安装vue与vue-cli:npm  install  -g   @vue/cli 。

(3)创建vue3项目:npm  init  vite  项目名称 。

方式一:vue ui 可视化安装(如果vue未装好,请使用方式二)

windows命令行窗口输入vue  ui 打开可视化窗口:

vue项目管理可视化窗口:

方式二:通过npm命令安装
(1)进入项目文件夹,比如 D:\myweb\myapp>这里使用--save局部安装

如果全局安装可以使用-g

npm  install  element-plus  --save

或简写为:
npm  i   element-plus  -S(大写)

(2)安装以下两个插件

npm i  unplugin-auto-import  --save

npm i  unplugin-vue-components  --save

(3)修改vite.config.js配置文件,内容如下

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// 按需导入element-plus的更多组件
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue(),
            // 打补丁
            AutoImport({
              resolvers: [ElementPlusResolver()],
            }),
            Components({
              resolvers: [ElementPlusResolver()],
            })
         ]
})

(4)在main.js 中全局导入

//导入vue中创建vue实例的方法
import { createApp } from 'vue'
//导入最大组件,以便加载其它组件内容
import App from './App.vue'
//导入自定义路由文件简写from './router'
import router from './router/index.js';
//全局导入element-plus 
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
//创建vue实例
const app=createApp(App);
//绑定路由对象
app.use(router);
app.mount('#app');

二、vue3与Element-plus整合

2.1 安装环境

1、首先,确保已安装好node.js与npm、最新的vue3与对应的vue-cli

vue    -V     #查看vue-cli的版本,验证是否已安装

npm install -g @vue/cli   #如果未安装vue3则执行此命令

2、安装element-plus(如果已安装,则跳过)

方式一:通过命令 vue  ui 可视化安装,如果已安装过了,则跳过。

按界面提示安装element-plus依赖(参考上边vue项目管理可视化窗口)

方式二:用npm命令安装,见上。

npm   install   element-plus   --save  #如果之前已安装过,此处可以跳过

npm i  unplugin-auto-import  --save

npm i  unplugin-vue-components  --save

3、构建项目

# 构建基于vite的项目,建议使用这种方式

npm  init   vite  项目名称  

# 构建基于webpack的项目

vue create  项目名称

2.2 案例解析

说明:以下组件文件中将使用vue3的新语法糖格式(一种简洁的代码格式)。

1、在main.js主文件中引入以下内容

//导入vue中创建vue实例的方法
import { createApp } from 'vue'
//导入最大组件,以便加载其它组件内容
import App from './App.vue'
//导入自定义路由文件简写from './router'
import router from './router/index.js';
//全局导入element-plus 
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
//创建vue实例
const app=createApp(App);
app.use(router);//绑定路由对象
app.mount('#app');

2、修改vite.config.js配置文件为以下内容

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// 按需导入element-plus的更多组件
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue(),
            // 打补丁
            AutoImport({
              resolvers: [ElementPlusResolver()],
            }),
            Components({
              resolvers: [ElementPlusResolver()],
            })
         ]
})

3、创建组件文件MyBtn.vue文件,并使用element-plus的按钮组件

<template>
	<div class="mybtn">
		<el-row class="mb-4">
			<el-button>Default</el-button>
			<el-button type="primary">Primary</el-button>
			<el-button type="success">Success</el-button>
			<el-button type="info">Info</el-button>
			<el-button type="warning">Warning</el-button>
			<el-button type="danger">Danger</el-button>
		</el-row>

		<el-row class="mb-4">
			<el-button plain>Plain</el-button>
			<el-button type="primary" plain>Primary</el-button>
			<el-button type="success" plain>Success</el-button>
			<el-button type="info" plain>Info</el-button>
			<el-button type="warning" plain>Warning</el-button>
			<el-button type="danger" plain>Danger</el-button>
		</el-row>

		<el-row class="mb-4">
			<el-button round>Round</el-button>
			<el-button type="primary" round>Primary</el-button>
			<el-button type="success" round>Success</el-button>
			<el-button type="info" round>Info</el-button>
			<el-button type="warning" round>Warning</el-button>
			<el-button type="danger" round>Danger</el-button>
		</el-row>

		<el-row>
			<el-button :icon="Search" circle />
			<el-button type="primary" :icon="Edit" circle />
			<el-button type="success" :icon="Check" circle />
			<el-button type="info" :icon="Message" circle />
			<el-button type="warning" :icon="Star" circle />
			<el-button type="danger" :icon="Delete" circle />
		</el-row>
	</div>
</template>
<script>
	export default {
		name: 'MyBtn'
	}
</script>
<style>
</style>

4、在顶层组件文件App.vue中使用其它组件标签

<template>
  <img alt="Vue logo" src="./assets/logo.png">
  <!--使用自定义标签-->
  <MyBtn />
  <HelloWorld msg="Welcome to Your Vue.js App"/>
</template>
<!--新语法糖方式,组件只需导入即可使用-->
<script setup>
// 导入HelloWorld组件
import HelloWorld from './components/HelloWorld.vue'
// 导入组件MyBtn
import MyBtn from './components/MyBtn.vue'

</script>

<style scoped>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

2.3 部署运行

命令窗口方式切换到项目文件夹,输入:npm run  dev 运行项目,浏览器打开链接地址。

效果如图所示:

三、Element-plus基本应用

3.1 Container 布局容器

用于布局的容器组件,方便快速搭建页面的基本结构

<el-container>:外层容器。当子元素中包含 <el-header> 或 <el-footer> 时,全部子元素会垂直上下排列,否则会水平左右排列。
<el-header>:顶栏容器
<el-aside>:侧边栏容器
<el-main>:主要区域容器
<el-footer>:底栏容器

案例解析: 整个蓝色方框为一个container,红色方框为一个container,黄色方框为一个container

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>element入门</title>
		<!-- 引入ElementUI样式的兼容模式-->
		<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
		<script src="https://unpkg.com/vue/dist/vue.js"></script>
		<!-- 引入ElementUI组件库 -->
		<script src="https://unpkg.com/element-ui/lib/index.js"></script>
	</head>
	<body>
        <!--以下代码也可以用到vue3的组件文件中-->
		<div id="app">
			<el-container>
				<el-header>
					header
				</el-header>
				<el-container>
					<el-aside width="200px">aside</el-aside>
					<el-container>
						<el-main>main</el-main>
						<el-footer>footer</el-footer>
					</el-container>
				</el-container>
			</el-container>
		</div>
		<style>
		        .el-header, .el-footer {
		            background-color: #B3C0D1;
		            color: #333;
		            text-align: left;
		            line-height: 60px;
		        }
			    .el-aside {
		            background-color: #D3DCE6;
		            color: #333;
		            text-align: center;
		            line-height: 200px;
		        }
		        .el-main {
		            background-color: #E9EEF3;
		            color: #333;
		            text-align: center;
		            line-height: 590px;
		        }
		    </style>
	</body>
	<script>
		 new Vue({
		    el:'#app'
		  });
	</script>
</html>

3.2 实用小组件

组件文件中要先引入.css、element-plus依赖 

1、icon小图标

<i class="el-icon-edit"></i>
<i class="el-icon-share"></i>
<i class="el-icon-delete"></i>
<el-button type="primary" icon="el-icon-search">搜索</el-button>

2、button按钮

<el-row>
  <el-button>默认按钮</el-button>
  <el-button type="primary">主要按钮</el-button>
  <el-button type="success">成功按钮</el-button>
  <el-button type="info">信息按钮</el-button>
  <el-button type="warning">警告按钮</el-button>
  <el-button type="danger">危险按钮</el-button>
</el-row>

<el-row>
  <el-button plain>朴素按钮</el-button>
  <el-button type="primary" plain>主要按钮</el-button>
  <el-button type="success" plain>成功按钮</el-button>
  <el-button type="info" plain>信息按钮</el-button>
  <el-button type="warning" plain>警告按钮</el-button>
  <el-button type="danger" plain>危险按钮</el-button>
</el-row>

<el-row>
  <el-button round>圆角按钮</el-button>
  <el-button type="primary" round>主要按钮</el-button>
  <el-button type="success" round>成功按钮</el-button>
  <el-button type="info" round>信息按钮</el-button>
  <el-button type="warning" round>警告按钮</el-button>
  <el-button type="danger" round>危险按钮</el-button>
</el-row>

<el-row>
  <el-button icon="el-icon-search" circle></el-button>
  <el-button type="primary" icon="el-icon-edit" circle></el-button>
  <el-button type="success" icon="el-icon-check" circle></el-button>
  <el-button type="info" icon="el-icon-message" circle></el-button>
  <el-button type="warning" icon="el-icon-star-off" circle></el-button>
  <el-button type="danger" icon="el-icon-delete" circle></el-button>
</el-row>

3、Link文字链接

<div>
  <el-link href="https://element.eleme.io" target="_blank">默认链接</el-link>
  <el-link type="primary">主要链接</el-link>
  <el-link type="success">成功链接</el-link>
  <el-link type="warning">警告链接</el-link>
  <el-link type="danger">危险链接</el-link>
  <el-link type="info">信息链接</el-link>
</div>

说明: 更多小组件的应用请参考element-puls官方网站

更多精彩内容请持续关注本站!

vue-element-plus-admin是一个集成了Vue3全家桶和element-plus的后台管理系统。它使用了最新的Vue技术栈,包括Vue3、Vite、Vue-router 4、Pinia、element-plus和tailwindcss。这个项目的目的是为了方便开发者理解其他代码,并在开发自己的前端项目时进行参考。\[1\] 如果你想使用vue-element-plus-admin,你可以通过克隆项目的方式获取代码,使用命令`git clone https://github.com/mh185/vue3-elementPlus-admin.git`。然后进入项目目录,安装依赖项`npm install`。你可以使用`npm run dev`命令来运行项目,使用`npm run build`命令来构建项目。\[2\] 另外,还有一个类似的项目叫做element-plus-admin,它的地址是https://gitee.com/kailong110120130/vue-element-plus-admin。你可以将这个项目克隆下来,并将其整合到你的开发平台中。你可以将前端项目放在后端项目的根目录下,作为整个工程项目的一个模块。这样做的好处是在架构上实现了前后端的分离,但对于一个功能来说,前后端可以一起开发,从Git的提交和开发模式上都更加完整。\[3\] 总之,vue-element-plus-admin是一个使用Vue3element-plus构建的后台管理系统,它提供了丰富的功能和组件,可以作为开发自己前端项目的参考。你可以通过克隆项目的方式获取代码,并根据需要进行安装和运行。 #### 引用[.reference_title] - *1* [element-plus-admin源码剖析](https://blog.csdn.net/weixin_30230009/article/details/124138774)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [vue3-elementPlus-admin](https://blog.csdn.net/weixin_50422141/article/details/124709356)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [vue-element-plus-admin整合后端实战——实现系统登录、缓存用户数据、实现动态路由](https://blog.csdn.net/seawaving/article/details/129766205)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值