一、ElementUI簡介
ElementUI 是餓了么團隊推出的一套基於 Vue 2.0 的桌面端組件庫,採用了 FLEX 彈性布局,提供了豐富、實用的 UI 組件,可快速開發各種類型的 Web 應用,其 API 風格與 Vue.js 自身風格高度契合,是一個高效、靈活、易用的前端組件庫。ElementUI中文網是 ElementUI 組件庫的官方網站,提供了詳細的中文文檔和豐富的示例,方便開發者快速入手掌握使用。
二、核心組件
ElementUI 的核心組件包括 外觀、布局、數據展示、數據錄入、反饋、交互行為、導航 這七個方面,其中每個方面都有多個具體組件,如:
- 外觀:Button、Icon、Typography等;
- 布局:Layout、Grid、Collapse等;
- 數據展示:Tag、Table、Progress等;
- 數據錄入:Radio、Checkbox、Datepicker等;
- 反饋:Alert、Loading、Notification等;
- 交互行為:Dialog、Tooltip、Popconfirm等;
- 導航:Nav Menu、Steps、Breadcrumb等。
ElementUI 中,一般情況下設置表單元素控制項會有應用程序的數據管理,比如:可以綁定數據、獲取用戶輸入值、根據用戶輸入的值觸發一些操作、實時或者非同步校驗等。而 ElementUI 組件中的表單元素需要與表單數據結合使用,以數據管理為主,是前端 MVVM 架構的一個典型應用場景。以 Input 組件為例:
// Input 示例代碼: <el-input v-model="input" placeholder="請輸入內容"></el-input> // Input 實際應用代碼: <el-form-item label="姓名"> <el-input v-model="form.name" placeholder="請輸入姓名"></el-input> </el-form-item>
三、按需載入
為了使 ElementUI 組件庫更加靈活和輕量化,ElementUI 提供了按需載入的方式,即只載入需要的組件庫文件,而不是全部組件文件。
// 安裝 babel-plugin-component npm install babel-plugin-component -D // 添加 .babelrc 配置文件 { "plugins": [ [ "component", { "libraryName": "element-ui", "styleLibraryName": "theme-chalk" } ] ] } // 應用 import { Button, Select } from 'element-ui' Vue.component(Button.name, Button) Vue.component(Select.name, Select)
四、主題定製
ElementUI 提供了主題定製的功能,可以根據項目實際需要,自定義組件庫中的顏色、大小、字體等樣式屬性,以滿足 UI 風格要求。主題定製包括 全局風格和局部風格 兩種定製方式,使用簡單方便。
全局主題設置:
import Vue from 'vue'; import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; ElementUI.Button.props.size.default = 'large'; //全局大號的按鈕 Vue.use(ElementUI);
局部主題設置:
<style lang="scss"> @import '~element-ui/packages/theme-chalk/src/index'; // 引入element-ui主題 .myButton { border-radius: 5px; background-color: $--color-primary; &:hover { background-color: lighten($--color-primary, 10%); } } </style> <template> <el-button class="myButton">我是自定義主題的按鈕</el-button> </template>
五、自定義主題
如果需要更細粒度的主題定製,可以通過修改 ElementUI 的 SASS 變數來自定義主題。
// 自定義變數:$--color-primary $--color-primary: #409EFF !default; $--color-primary-light: lighten($--color-primary, 20%) !default; $--color-primary-dark: darken($--color-primary, 20%) !default; // 引入 ElementUI 的 SCSS 文件 @import '~element-ui/packages/theme-chalk/src/index'; // 自定義通用樣式 body { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; } // 自定義組件樣式 .el-button { &.primary { background-color: $--color-primary; border-color: $--color-primary; } &.primary:hover { background-color: $--color-primary-light; border-color: $--color-primary-light; } &.primary:active { background-color: $--color-primary-dark; border-color: $--color-primary-dark; } }
六、國際化支持
ElementUI 支持多語言國際化,提供了英文、中文、西班牙文、法文、德文、阿拉伯文、俄羅斯文等多種語言翻譯,可以根據實際需求進行配置。
// 引入 ElementUI 組件和語言包 import Vue from 'vue' import ElementUI from 'element-ui' import locale from 'element-ui/lib/locale/lang/en' // 設置語言包 Vue.use(ElementUI, { locale })
然後在代碼中使用$ t 命令即可調用相應的翻譯:
<template> <div> <el-button>{{$t('button.submit')}}</el-button> <el-button>{{$t('button.reset')}}</el-button> </div> </template>
七、調試工具使用
ElementUI 還提供了方便的調試工具,可以針對各個組件進行排查和定位,調試效率更高。
// 安裝 devtools 調試工具 npm i -D @vue/devtools // 加入 Vue 開發者工具 Vue.config.devtools = true // 調用工具 <el-button v-slot="{ popover }"> <span> <i class="el-icon-edit"></i> 編輯 </span> <el-popover :popper-options="{ boundary: 'window' }" ref="popover"> <p style="text-align: center">popover內容</p> <el-button @click="popover.hide()" slot="reference">關閉</el-button> </el-popover> </el-button>
八、總結
通過以上的詳細介紹,我們可以發現 ElementUI 中文網提供的組件庫非常實用,功能豐富,使用方便,可滿足各種應用場景下的 UI 開發需求。在開發過程中,我們可以根據實際需要,通過按需載入、主題定製、自定義主題、國際化支持和調試工具等多種功能來定製我們需要的組件庫。
原創文章,作者:JZCCU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/332698.html