elementui多个组件怎么使用(ElementUI在实际项目使用步骤详解)
elementui多个组件怎么使用
ElementUI在实际项目使用步骤详解目录
- 1.表格自排序
- 2.分页功能
- 3.el-checkbox-group多选框
- 4.封装日历组件
- 5.用antv-G2实现雷达图
- 6.多语言支持
目标:点击入职时间后面的上下箭头可以实现当前页数据按照入职时间升序或者降序排列
思路:给el-table-column添加sortable
排序是对取回来的数据做排序,只在前端。
参考:https://element.eleme.io/#/zh-CN/component/table#pai-xu
代码实现(参考):
<!-- 1.定义需要根据字段排序的字段名称 --> <el-table :data="list" border :default-sort="{prop: 'workNumber'}"> </el-table> <!-- 2.保证字段列上声明了prop属性 和 sortable属性 --> <el-table-column label="入职时间" sortable prop="timeOfEntry"> </el-table-column>
目标(效果):实现分页获取数据逻辑
思路:按分页组件的属性要求进行配置即可。
步骤:
步骤1:补充数据项
按el-pagination组件的要求,在页面中添加与分页相关的数据项
data() { return { // 省略其他 total: 0, page: 1, // 当前页码 size: 5, // 每页几条 total: 0 // 总共数据条数 } }
步骤2:分页结构
<li style="height: 60px; margin-top: 10px"> <!-- 分页 --> <el-pagination layout="total, sizes,prev, pager, next, jumper" :total="total" :page-size="size" :page-sizes="[2,5,10]" @current-change="hCurrentChange" @size-change="hSizeChange" /> </li>
步骤3:分页逻辑实现
// 会自动接收当前点击的页码 hCurrentChange(curPage) { // alert(curPage) // 1. 更新页码 this.page = curPage // 2. 重发请求 this.loadEmployee() }, // 每页几条 hSizeChange(curSize) { // alert(size) // 1. 更新每页的条数 this.size = curSize // 2. 重发请求 this.loadEmployee() },
作用(效果)
使用注意事项:
对于用来表示多选的el-checkbox-group来说:
v-model的值是数组(表示多选)
它的子元素el-checkbox的label属性决定了选中这一项之后值
模板
<el-checkbox-group v-model="roleIds"> <el-checkbox label="110">管理员</el-checkbox> <el-checkbox label="113">开发者</el-checkbox> <el-checkbox label="115">人事</el-checkbox> </el-checkbox-group>
数据
data () { return { roleIds: [] // 保存当前选中的权限列表 } }
效果:
思路:这个组件比较大(主页中的代码也比较多了),所以我们会单独提出来成一个组件
步骤1:封装一个组件 (注册引入使用三部曲)
步骤2:在主页中使用日历组件
<el-card class="box-card"> <li slot="header" class="header"> <span>工作日历</span> </li> <!-- 放置日历组件 --> <calender /> </el-card>
步骤3:用插槽自定义日历内容显示
<template> <el-calendar v-model="currentDate"> <template slot="dateCell"> <li class="date-content"> <span class="text">01</span> <span class="rest">休</span> </li> </template> </el-calendar> </template> <script> export default { data() { return { curDate: new Date() } } } </script>
效果:
这种图在echarts中也有,这里我们用蚂蚁数据可视化部门的产品antv-G2
https://antv.vision/zh
https://g2.antv.vision/zh/examples/radar/radar#basic
步骤1:安装必要依赖
npm install @antv/data-set @antv/g2
步骤2:创建一个组件来实现雷达图
下面的代码在官网中参考过来的:https://g2.antv.vision/zh/examples/radar/radar#basic
<template> <li id="container" /> </template> <script> import DataSet from '@antv/data-set' import { Chart } from '@antv/g2' export default { mounted() { const data = [ { item: '工作效率', a: 70, b: 30 }, { item: '考勤', a: 60, b: 70 }, { item: '积极性', a: 50, b: 60 }, { item: '帮助同事', a: 40, b: 50 }, { item: '自主学习', a: 60, b: 70 }, { item: '正确率', a: 70, b: 50 } ] const { DataView } = DataSet const dv = new DataView().source(data) dv.transform({ type: 'fold', fields: ['a', 'b'], // 展开字段集 key: 'user', // key字段 value: 'score' // value字段 }) const chart = new Chart({ container: 'container', autoFit: true, height: 500 }) chart.data(dv.rows) chart.scale('score', { min: 0, max: 80 }) chart.coordinate('polar', { radius: 0.8 }) chart.tooltip({ shared: true, showCrosshairs: true, crosshairs: { line: { style: { lineDash: [4, 4], stroke: '#333' } } } }) chart.axis('item', { line: null, tickLine: null, grid: { line: { style: { lineDash: null } } } }) chart.axis('score', { line: null, tickLine: null, grid: { line: { type: 'line', style: { lineDash: null } } } }) chart .line() .position('item*score') .color('user') .size(2) chart .point() .position('item*score') .color('user') .shape('circle') .size(4) .style({ stroke: '#fff', lineWidth: 1, fillOpacity: 1 }) chart .area() .position('item*score') .color('user') chart.render() } } </script>
效果:vue项目中的多语言支持使用的是vue-i18n
参考: https://kazupon.github.io/vue-i18n/zh/started.html
目标:实现elementUI中英文切换功能,感受中文切换的效果
步骤1:安装国际化的包
npm i vue-i18n@8.22.2
步骤2:ElementUI多语言配置
引入element语言包文件src/lang/index.js
// 进行多语言支持配置 import Vue from 'vue' // 引入Vue import VueI18n from 'vue-i18n' // 引入国际化的插件包 import locale from 'element-ui/lib/locale' import elementEN from 'element-ui/lib/locale/lang/en' // 引入饿了么的英文包 import elementZH from 'element-ui/lib/locale/lang/zh-CN' // 引入饿了么的中文包 Vue.use(VueI18n) // 全局注册国际化包 // 创建国际化插件的实例 const i18n = new VueI18n({ // 指定语言类型 zh表示中文 en表示英文 locale: 'zh', // 将elementUI语言包加入到插件语言数据里 messages: { // 英文环境下的语言数据 en: { ...elementEN }, // 中文环境下的语言数据 zh: { ...elementZH } } }) // 配置elementUI 语言转换关系 locale.i18n((key, value) => i18n.t(key, value)) export default i18n
到此这篇关于ElementUI在实际项目使用的功能总结的文章就介绍到这了,更多相关ElementUI项目使用总结内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- vue3.0全家桶教程elementui学习(vite+vue3.0+ts+element-plus快速搭建项目的实现)
- elementui自定义坐标(element-ui 上传图片后标注坐标点)
- vue加element ui弹窗(Vue中ElementUI分页组件Pagination的使用方法)
- vueelementui动态表格(Vue Element前端应用开发之常规的JS处理函数)
- vueelementui侧边栏(Vue Element UI自定义描述列表组件)
- vueelementui左侧菜单(Vue Element前端应用开发之动态菜单和路由的关联处理)
- vueelementui表格操作(Vue组件库ElementUI实现表格列表分页效果)
- element-ui如何关闭表单验证(ElementUI实现el-form表单重置功能按钮)
- elementui多个组件怎么使用(ElementUI在实际项目使用步骤详解)
- vue加element ui开发项目(Vue+ElementUI之Tree的使用方法)
- vueelementui三级菜单(vue+element ui实现锚点定位)
- vue elementui侧边栏怎么切换页面(Vue + element实现动态显示后台数据到options的操作方法)
- vueelementui组件生成页面(Vue Element前端应用开发之树列表组件)
- vue创建项目同时引入elementui(Vue Element前端应用开发之开发环境的准备工作)
- vue element 表格上拉加载数据(Vue组件库ElementUI实现表格加载树形数据教程)
- vue elementui 公共列表组件(Vue Element-ui表单校验规则实现)
- 袁冰妍终于接到新剧,饰演反追男主,看到合作演员 眼光果然毒辣(袁冰妍终于接到新剧)
- 记忆中的台词(记忆中的台词)
- 袁冰妍轧戏 拍《琉璃》的同时还在拍《将夜》,难怪被骂演技差(拍琉璃的同时还在拍将夜)
- 刚红就耍大牌,《琉璃》角色滤镜碎一地,心疼工作人员(琉璃角色滤镜碎一地)
- 袁冰妍郑业成这对可以处,有脸红情话他们是真的敢说(袁冰妍郑业成这对可以处)
- 《祝卿好》台词又土又甜,就喜欢这么直接的恋爱(祝卿好台词又土又甜)
热门推荐
- python strip用法(Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析)
- phpstorm代码模板(phpStorm+XDebug+chrome 配置详解)
- 宝塔小程序制作(宝塔面板微信小程序使用图文教程)
- sqlserverselect选择两个参数(SQL SERVER中SELECT和SET赋值相同点与不同点推荐)
- linux启动失败原因(安装主机大师Linux遇到bash: sudo: command not found 解决办法)
- 面试的最后,HR问你还有什么问题要问,该怎么回答?
- docker怎么增加端口(docker 添加端口及获取dockerfile的方法)
- 做网站是使用nginx还是apache(web服务器软件Apache与Nginx的对比分析)
- python的pickle用法(Python multiprocess pool模块报错pickling error问题解决方法分析)
- 微信小程序左右翻页效果(微信小程序实现九宫格效果)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9