一、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
微信掃一掃
支付寶掃一掃