1.
1.2 常用組件
1.2.1
<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>
1.2.2
<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>
1.2.3
為網站提供導航功能的菜單。
<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>
1.2.4
用於展示多條結構類似的數據,可對數據進行排序、篩選、對比或其他自定義操作。
<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>
1.2.5
<!-- 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>
1.2.6
常用於主動操作后的反饋提示。
<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>
1.2.7
分隔內容上有關聯但屬於不同類別的數據集合。
<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>
1.2.8
<!-- 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>