【相關推薦:、】
ElementUI是一套基於VUE2.0的桌面端元件庫,ElementUI提供了豐富的元件幫助開發人員快速構建功能強大、風格統一的頁面。
官網地址:http://element-cn.eleme.io/#/zh-CN
在頁面上引入 js 和 css 檔案即可開始使用,如下:
<!-- 引入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>
用於佈局的容器元件,方便快速搭建頁面的基本結構:
<el-container>
:外層容器。當子元素中包含 <el-header>
或 <el-footer>
時,全部子元素會垂直上下排列,否則會水平左右排列
<el-header>
:頂欄容器
<el-aside>
:側邊欄容器
<el-main>
:主要區域容器
<el-footer>
:底欄容器
<body> <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>
將動作或選單摺疊到下拉式選單中。
<el-dropdown split-button size="small" trigger="click"> 個人中心 <el-dropdown-menu> <el-dropdown-item >退出系統</el-dropdown-item> <el-dropdown-item divided>修改密碼</el-dropdown-item> <el-dropdown-item divided>聯絡管理員</el-dropdown-item> </el-dropdown-menu> </el-dropdown>
為網站提供導航功能的選單。
<el-menu> <el-submenu index="1"> <template slot="title"> <i class="el-icon-location"></i> <span slot="title">導航一</span> </template> <el-menu-item>選項1</el-menu-item> <el-menu-item>選項2</el-menu-item> <el-menu-item>選項3</el-menu-item> </el-submenu> <el-submenu index="2"> <template slot="title"> <i class="el-icon-menu"></i> <span slot="title">導航二</span> </template> <el-menu-item>選項1</el-menu-item> <el-menu-item>選項2</el-menu-item> <el-menu-item>選項3</el-menu-item> </el-submenu> </el-menu>
用於展示多條結構類似的資料,可對資料進行排序、篩選、對比或其他自定義操作。
<el-table :data="tableData" stripe> <el-table-column prop="date" label="日期"></el-table-column> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="address" label="地址"></el-table-column> <el-table-column label="操作" align="center"> <!-- slot-scope:作用域插槽,可以獲取表格資料 scope:代表表格資料,可以通過scope.row來獲取表格當前行資料,scope不是固定寫法 --> <template slot-scope="scope"> <el-button type="primary" size="mini" @click="handleUpdate(scope.row)">編輯</el-button> <el-button type="danger" size="mini" @click="handleDelete(scope.row)">刪除</el-button> </template> </el-table-column> </el-table> <script> new Vue({ el:'#app', data:{ tableData: [{ date: '2016-05-02', name: '王小虎', address: '上海市普陀區金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀區金沙江路 1517 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀區金沙江路 1519 弄' }] }, methods:{ handleUpdate(row){ alert(row.date); }, handleDelete(row){ alert(row.date); } } }); </script>
當資料量過多時,使用分頁分解資料。
<!-- current-change:內建的事件,當前頁碼改變時會觸發,可以獲取到改變之後的頁碼 --> <el-pagination @current-change="handleCurrentChange" current-page="5" page-size="10" layout="total, prev, pager, next, jumper" :total="305"> </el-pagination> <script> new Vue({ el:'#app', methods:{ handleCurrentChange(page){ alert(page); } } }); </script>
常用於主動操作後的反饋提示。
<el-button :plain="true" @click="open1">訊息</el-button> <el-button :plain="true" @click="open2">成功</el-button> <el-button :plain="true" @click="open3">警告</el-button> <el-button :plain="true" @click="open4">錯誤</el-button> <script> new Vue({ el: '#app', methods: { open1() { this.$message('這是一條訊息提示'); }, open2() { this.$message({ message: '恭喜你,這是一條成功訊息', type: 'success' }); }, open3() { this.$message({ message: '警告哦,這是一條警告訊息', type: 'warning' }); }, open4() { this.$message.error('錯了哦,這是一條錯誤訊息'); } } }) </script>
分隔內容上有關聯但屬於不同類別的資料集合。
<h3>基礎的、簡潔的分頁</h3> <!-- 通過value屬性來指定當前選中的分頁 --> <el-tabs value="first"> <el-tab-pane label="使用者管理" name="first">使用者管理</el-tab-pane> <el-tab-pane label="設定管理" name="second">設定管理</el-tab-pane> <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane> <el-tab-pane label="定時任務補償" name="fourth">定時任務補償</el-tab-pane> </el-tabs> <h3>索引標籤樣式的分頁</h3> <el-tabs value="first" type="card"> <el-tab-pane label="使用者管理" name="first">使用者管理</el-tab-pane> <el-tab-pane label="設定管理" name="second">設定管理</el-tab-pane> <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane> <el-tab-pane label="定時任務補償" name="fourth">定時任務補償</el-tab-pane> </el-tabs> <h3>卡片化的分頁</h3> <el-tabs value="first" type="border-card"> <el-tab-pane label="使用者管理" name="first">使用者管理</el-tab-pane> <el-tab-pane label="設定管理" name="second">設定管理</el-tab-pane> <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane> <el-tab-pane label="定時任務補償" name="fourth">定時任務補償</el-tab-pane> </el-tabs> <script> new Vue({ el: '#app' }) </script>
由輸入框、選擇器、單選框、多選框等控制元件組成,用以收集、校驗、提交資料。在 Form 元件中,每一個表單域由一個 Form-Item 元件構成,表單域中可以放置各種型別的表單控制元件,包括 Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker。
<!-- rules:表單驗證規則 --> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <!-- prop:表單域 model 欄位,在使用 validate、resetFields 方法的情況下,該屬性是必填的 --> <el-form-item label="活動名稱" prop="name"> <el-input v-model="form.name"></el-input> </el-form-item> <el-form-item label="活動區域" prop="region"> <el-select v-model="form.region" placeholder="請選擇活動區域"> <el-option label="區域一" value="shanghai"></el-option> <el-option label="區域二" value="beijing"></el-option> </el-select> </el-form-item> <el-form-item label="活動時間"> <el-col :span="11"> <el-date-picker type="date" placeholder="選擇日期" v-model="form.date1" style="width: 100%;"></el-date-picker> </el-col> <el-col class="line" :span="2">-</el-col> <el-col :span="11"> <el-time-picker type="fixed-time" placeholder="選擇時間" v-model="form.date2" style="width: 100%;"></el-time-picker> </el-col> </el-form-item> <el-form-item label="即時配送"> <el-switch v-model="form.delivery"></el-switch> </el-form-item> <el-form-item label="活動性質"> <el-checkbox-group v-model="form.type"> <el-checkbox label="美食/餐廳線上活動" name="type"></el-checkbox> <el-checkbox label="地推活動" name="type"></el-checkbox> <el-checkbox label="線下主題活動" name="type"></el-checkbox> <el-checkbox label="單純品牌曝光" name="type"></el-checkbox> </el-checkbox-group> </el-form-item> <el-form-item label="特殊資源"> <el-radio-group v-model="form.resource"> <el-radio label="線上品牌商贊助"></el-radio> <el-radio label="線下場地免費"></el-radio> </el-radio-group> </el-form-item> <el-form-item label="活動形式"> <el-input type="textarea" v-model="form.desc"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="onSubmit">立即建立</el-button> </el-form-item> </el-form> <script> new Vue({ el: '#app', data:{ form: { name: '', region: '', date1: '', date2: '', delivery: false, type: [], resource: '', desc: '' }, //定義校驗規則 rules: { name: [ { required: true, message: '請輸入活動名稱', trigger: 'blur' }, { min: 3, max: 5, message: '長度在 3 到 5 個字元', trigger: 'blur' } ], region: [ { required: true, message: '請選擇活動區域', trigger: 'change' } ] } }, methods:{ onSubmit() { console.log(this.form); //validate:對整個表單進行校驗的方法,引數為一個回撥函數。 //該回撥函數會在校驗結束後被呼叫,並傳入兩個引數:是否校驗成功和未通過校驗的欄位。 this.$refs['form'].validate((valid) => { if (valid) { alert('submit!'); } else { console.log('error submit!!'); return false; } }); } } }) </script>
【相關推薦:、】
以上就是詳細介紹ElementUI元件庫的詳細內容,更多請關注TW511.COM其它相關文章!