当前位置: 首页 > news >正文

5.6 element ui

Element UI

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

ui库可以更具自己的需要选择学习,经典的ElementUI 后起的antd 都非常优秀.

本博客讲解Element UI.  因为更容易入手.并且在很多项目中被使用到. 比如 RuoYi.

Element UI 被广泛认为是最早流行并产生深远影响的 Vue UI 框架之一,可以说是 Vue 生态中最早的成熟桌面端 UI 库

  • 发布时间2016 年 3 月
  • 开发团队:饿了么前端团队(ElemeFE)
  • GitHub 首次提交:2016 年 3 月(GitHub 仓库)
  • 支持版本:Vue 2.x
  • 特点:专为中后台系统设计,组件丰富,文档完善,中文友好。

👉 意义

  • 它是第一个系统化、工程化、文档完整的 Vue UI 框架
  • 极大地推动了 Vue 在国内企业级项目中的 adoption(采用率)。
  • 成为后来许多 Vue UI 库的“参考标准”。

主要特性

特性说明
 优雅的设计风格遵循“一致、反馈、效率、控制”的设计原则,界面简洁现代,适合企业级应用。
🧩 丰富的组件提供超过 60 个高质量 UI 组件,如表格(Table)、表单(Form)、对话框(Dialog)、导航菜单、标签页、通知提示等。
🌐 国际化支持内置多语言支持(中文、英文、西班牙语等),可轻松切换语言。
🎛️ 主题定制支持通过 SCSS 变量自定义主题颜色、字体、边距等。
📱 响应式设计组件支持响应式布局,适配不同屏幕尺寸(但主要面向 PC 端)。
💻 表格强大el-table 是其明星组件,支持固定列、排序、筛选、分页、树形数据、虚拟滚动(需扩展)等复杂功能。
🧪 类型支持原生不支持 TypeScript(因基于 Vue 2),但在 Vue 2 项目中可通过 .d.ts 文件部分支持。
📚 文档完善中文文档非常详细,示例丰富,上手简单。

核心组件与功能

  1. 布局组件
    • Container容器:包含el-container(外层容器)、el-header(顶栏)、el-aside(侧边栏)、el-main(主区域)、el-footer(底栏),支持垂直或水平排列子元素,快速搭建页面基本结构。
    • Layout栅格:借鉴Bootstrap思想,将页面分为24列,通过el-row和el-col的span属性控制列宽,实现响应式布局。
  2. 数据展示组件
    • Table表格:支持展示结构化数据,提供排序、筛选、自定义操作等功能,适用于大量数据的高效呈现。
    • Pagination分页:当数据量过多时,可分页展示数据,提升页面加载效率。
  3. 交互组件
    • Dropdown下拉菜单:可折叠动作或菜单,支持点击/hover触发、分割列表等配置。
    • NavMenu导航菜单:实现页面导航功能,支持水平/垂直模式及多级菜单。
    • Tabs标签页:用于切换不同内容区域,提升页面空间利用率。
  4. 表单组件
    • Form表单:集成Input、Select、Checkbox、DatePicker等控件,通过el-form和el-form-item构建表单域,支持rules属性实现数据校验。
    • Button按钮:提供primary、success、danger等类型,支持plain(素色)、round(圆角)等样式设置。
  5. 反馈组件
    • Message消息提示:用于操作后的主动反馈,如成功、错误提示等。
    • Tooltip工具提示:鼠标悬停时显示额外信息,增强界面交互友好性。

应用场景

Element UI广泛应用于企业级后台管理系统、数据可视化平台等场景,其丰富的组件和简洁的API设计能显著提升开发效率,减少重复工作。

快速体验

全部引入
  1. 安装依赖
npm install element-ui --save
  1. 在 main.js 中全局引入
import Vue from 'vue'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import App from './App.vue';Vue.use(ElementUI);new Vue({el: '#app',render: h => h(App)
});
按需引入
  1. 安装必要依赖
npm install element-ui --save
npm install babel-plugin-component -D
  1. 配置 babel.config.js (若无此文件需新建)
module.exports = {presets: ['@vue/cli-plugin-babel/preset'],plugins: [['component',{libraryName: 'element-ui',styleLibraryName: 'theme-chalk'}]]
}
  1. 在组件中按需引入 (以 Button 和 Select 为例)
// ... existing code ...
<script>
import { Button, Select } from 'element-ui';export default {components: {'el-button': Button,'el-select': Select},// ... existing code ...return{// ... existing code ...}
}
</script>
// ... existing code ...

Element UI 安装后,源码就存放在项目的 node_modules 目录中。

  1. 打开你的项目文件夹(包含 package.json)。
  2. 在 VSCode 的资源管理器中,展开:
    node_modules → element-ui
  3. 查看关键目录:
    • lib/:编译后的 JavaScript 文件(用于生产环境)。
    • packages/ 和 src/源码目录(未编译的 .vue 和 .js 文件,含组件实现)。
      • 例如:packages/components/button/src 下的 button.vue 就是按钮组件的源码。
    • types/:TypeScript 类型定义(如果使用 TS)
    • 样式源码路径:
element/
├── packages/
│   └── theme-chalk/           # 主题样式源码目录
│       ├── src/               # SCSS 源文件
│       │   ├── button.scss    # 按钮样式
│       │   ├── input.scss     # 输入框样式
│       │   ├── table.scss     # 表格样式
│       │   └── ...            # 其他组件样式
│       ├── mixins/            # SCSS 混合(mixin)
│       ├── common/            # 通用样式(重置、字体等)
│       └── themes/            # 主题变量(可定制)

    http://www.dtcms.com/a/342350.html

    相关文章:

  • 计算机网络技术-第六章
  • STM32 TIM_CtrlPWMOutputs函数
  • 两种单例模式
  • 分享一个免费开源的网站跟踪分析工具Open-Web-Analytics(和GoogleAnalytics一样)
  • 3D 环形旋转图片轮播(纯html,css,js)
  • Docker:安装配置
  • Unity编辑器相关
  • 类加载问题与内存泄漏排查:隐藏在元数据区的致命陷阱
  • electron-vite_18Less和Sass共用样式指定
  • 超级 APP:重构多平台运营生态,一站式解决用户与商家痛点
  • Java性能优化:JVM工具与Tomcat调优实战
  • 批量收藏Chrome浏览器中打开的多个标签页快捷方法
  • 12_Go语言项目架构与工程实践
  • 手机惊魂
  • 《用餐》,午餐食堂即景小诗分享(手机/小视频/光盘/养生)
  • mysql第四章使用DQL命令查询数据(二)
  • MinerU:重新定义PDF智能提取的开源利器
  • PDF翻译软件哪个好?用对工具翻译无障碍
  • 计算机视觉第一课opencv(三)保姆级教学
  • 微信小程序基础Day1
  • Ubuntu 22.04 安装tensorrt
  • Building Systems with the ChatGPT API 使用 ChatGPT API 搭建系统(第五章学习笔记及总结)
  • Vue3源码reactivity响应式篇之Map、Set等代理处理详解
  • OpenCVSharp 核心功能模块详解:从基础操作到实战应用
  • 2025-08-21 Python进阶5——类和对象
  • Visual Studio 在机台上远程调试详细教程
  • LeetCode 反转链表
  • imx6ull-驱动开发篇33——platform 平台驱动模型
  • 【运维进阶】Shell 变量
  • Docker--Docker网络