3号垃圾:Element Plus 快速入门

今天是c/v工程师.......

1. Element Plus 简介

Element Plus 是基于 Vue 3 的 UI 组件库,专为设计师和开发者打造,提供丰富的组件来快速构建现代化的 Web 界面。

官网:一个 Vue 3 UI 框架 | Element Plus

1.1 为什么选择 Element Plus?

  • 基于 Vue 3,支持 Composition API,响应式更强。
  • 丰富的 UI 组件,包含表单、表格、弹框等,开箱即用。
  • 高扩展性,可以根据项目需求自定义主题。
  • 社区活跃,官方维护,更新迭代快。
  • 完善的文档,学习和使用成本低。

2. 快速入门

2.1 安装 Element Plus

在 Vue 3 工程中,可以使用 npm 或 yarn 安装 Element Plus:

npm install element-plus
# 或者使用 yarn
yarn add element-plus

官网里也有安装代码,可以直接复制

2.2 在 main.js 中引入

main.js (或 main.ts) 文件中引入 Element Plus 并全局注册:

import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')

这样,所有 Element Plus 组件都可以在 Vue 组件中使用了。

这个代码官网里也有,太轻松了哈哈。

3. 常用组件

官网里面有非常多的组件并且样式也很好看,想要就直接复制代码就行了,简单。

而且里面的每个属性都有讲解,你可以根据需要去了解然后编写你想要的。

3.1 表格(Table)

表格是 Element Plus 中最常用的组件之一,主要用于展示结构化数据。

<el-table :data="tableData" stripe style="width: 100%">
    <el-table-column prop="title" label="文章标题" width="180" />
    <el-table-column prop="category" label="分类" width="180" />
    <el-table-column prop="time" label="发表时间" />
    <el-table-column prop="state" label="状态" />
    <el-table-column label="操作">
        <el-button type="primary" :icon="Edit" circle />
        <el-button type="danger" :icon="Delete" circle />
    </el-table-column>
</el-table>

关键属性解析:

  • :data="tableData":绑定表格数据。
  • prop="xxx":对应 tableData 数据对象的键。
  • label="xxx":表格列名。
  • :icon="Edit":为按钮添加图标(需要引入)。

3.2 分页(Pagination)

分页组件用于数据分页显示:

<el-pagination v-model:current-page="currentPage4" v-model:page-size="pageSize4"
    :page-sizes="[5, 10, 15, 20]" layout="total, sizes, prev, pager, next, jumper" :total="100"
    @size-change="handleSizeChange" @current-change="handleCurrentChange" />

事件解析:

  • @size-change:监听每页数据条数变化。
  • @current-change:监听当前页变化。

3.3 表单(Form)

表单组件用于数据收集和用户交互。

<el-form :inline="true" :model="formInline" class="demo-form-inline">
    <el-form-item label="文章分类">
        <el-input v-model="formInline.user" placeholder="请输入" clearable />
    </el-form-item>
    <el-form-item>
        <el-button type="primary" @click="onSubmit">查询</el-button>
    </el-form-item>
</el-form>

核心属性解析:

  • :inline="true":表示表单项水平排列。
  • v-model="formInline.xxx":双向绑定表单数据。
  • clearable:支持输入框一键清除。

4. 组件嵌套应用

Element Plus 组件可以组合使用,比如在 el-card 内嵌套 el-tableel-pagination,实现卡片式表格展示。

<el-card style="width: 100%" shadow="always">
    <el-table :data="tableData" stripe>
        <el-table-column prop="title" label="文章标题" width="180" />
    </el-table>
    <el-pagination v-model:current-page="currentPage4" :total="100" />
</el-card>

5. 使用 Element Plus 的优点

提升开发效率:封装好的组件减少重复编码,提高生产力。 ✅ 响应式设计:适配不同屏幕尺寸,适合 PC 和移动端开发。 ✅ 丰富的图标支持:提供 @element-plus/icons-vue,让 UI 更加生动。 ✅ 良好的文档支持:官方文档清晰,学习成本低。

6. 使用难点与解决方案

Vue 2 项目无法直接使用:Element Plus 只支持 Vue 3,如果是 Vue 2,推荐使用 Element UI。 ❌ 体积较大:默认情况下 Element Plus 引入所有组件,建议使用 按需加载 来减少打包体积。

如何按需引入?

npm install unplugin-vue-components unplugin-auto-import -D

然后在 vite.config.js 配置:

import Components from 'unplugin-vue-components/vite';
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';

export default defineConfig({
    plugins: [
        Components({
            resolvers: [ElementPlusResolver()],
        }),
    ],
});

这样只会加载实际使用的组件,减少打包体积。

7. 结语

Element Plus 是 Vue 3 生态中优秀的 UI 组件库,适用于中后台管理系统。掌握 Element Plus 可以帮助我们快速构建美观、交互友好的 Web 应用。

今天学了又好像没学.......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值