element ui table 表格排序
实现elementui表格的排序
1:给table加上sort-change,给table每一项加上sortable和column-key,排序是根据column-key来进行排序的
<el-table :data="leavelist"
border
v-loading="tableLoading"
@sort-change="sortChange"
style="width: 100%">
<el-table-column
prop="otname"
sortable
column-key="otname"
:label="this.getRes('MyVacation.OverTimeType')"
></el-table-column>
<el-table-column
prop="txtbegindate"
sortable
column-key="begindate"
:label="this.getRes('MyVacation.OverTimeDate')"
></el-table-column>
<el-table-column
prop="num"
sortable
column-key="num"
:label="this.getRes('MyVacation.OverTimeHours')"
>
</el-table-column>
<el-table-column
prop="txtcl"
sortable
column-key="cl"
:label="this.getRes('MyVacation.Transfer')"
>
</el-table-column>
<el-table-column
prop="clhours"
sortable
column-key="clhours"
:label="this.getRes('MyVacation.TransferTime')"
>
</el-table-column>
<el-table-column
prop="txtclexp"
sortable
column-key="clexp"
:label="this.getRes('MyVacation.ExpirationDate')"
>
</el-table-column>
<el-table-column
prop="remark"
sortable
column-key="remark"
:label="this.getRes('MyVacation.Remark')"
>
</el-table-column>
<el-table-column
prop="txtstatus"
sortable
column-key="status"
:label="this.getRes('MyVacation.Status')"
>
</el-table-column>
</el-table>
2,定义sort-change方法
sortChange(column) {
if (column.column != null) {
let orderby = column.column.columnKey;
if (column.order == 'ascending') {
this.order = orderby + ' ' + 'asc';
this.handSearch();
} else if (column.order == 'descending') {
this.order = orderby + ' ' + 'desc';
this.handSearch();
}
} else {
this.order = 'begindate asc';
this.handSearch();
}
},
3,data里定义默认排序方法传入发送请求的位置
data() {
return {
order: 'begindate asc'
}
},
4,发送请求时,传入order
handSearch() {
this.disabled = true;
this.tableLoading = true;
var me = this;
var serviceParams = {};
if (this.datarange[0] != new Date(new Date().setHours(0, 0, 0, 0) - 2592000000)) {
serviceParams.startdate = this.datarange[0];
} else {
serviceParams.startdate = new Date(new Date().setHours(0, 0, 0, 0) - 2592000000);
}
if (this.datarange[1] != new Date(new Date().setHours(0, 0, 0, 0))) {
serviceParams.enddate = this.datarange[1];
} else {
serviceParams.enddate = new Date(new Date().setHours(0, 0, 0, 0));
}
serviceParams.pageIndex = me.thisPage;
serviceParams.pageSize = me.thisPageSize;
serviceParams.orderBy = this.order;
if (this.overTimeValue) {
serviceParams.otType = this.overTimeValue;
} else {
serviceParams.otType = '';
}
if (this.statusValue) {
serviceParams.status = this.statusValue;
} else {
serviceParams.status = "";
}
var start = me.thisPage;
var limit = me.thisPageSize;
me.invokeService("OverTime", "GetMyOTInfoList", [serviceParams],
function (msg) {
this.disabled = false;
var datalist = msg.ReturnData.$.toJson();
me.total = msg.ReturnData.$.totalCount;
var language = localStorage.getItem("Language");
var arrylist = new Array();
for (var i = 0; i < datalist.length; i++) {
var item = datalist[i];
item["txtbegindate"] = "";
item["txtenddate"] = "";
item["txtunit"] = "";
item["txtattperiod"] = "";
item["txtstatus"] = "";
item["txtclexp"] = "";
item["txtcl"] = "";
if (item.status != "") {
item.txtstatus = this.getRes('MyVacation.' + item.status);
}
if (item.unit != "") {
item.txtunit = this.getRes('unit.' + item.unit);
}
if (item.begindate != "" && item.begindate != undefined) {
item.txtbegindate = item.begindate.dateFormat(me.LocalUser.DateFormat);
}
if (item.enddate != "" && item.enddate != undefined) {
item.txtenddate = item.enddate.dateFormat(me.LocalUser.DateFormat);
}
if (item.attperiod != "" && item.attperiod != undefined) {
if (item.attperiod == null) {
item.txtattperiod = "";
} else {
item.txtattperiod = item.attperiod.dateFormat(me.LocalUser.DateFormat);
}
}
if (item.clexp != "" && item.clexp != undefined) {
item.txtclexp = item.clexp.dateFormat(me.LocalUser.DateFormat);
}
if (item.cl != "" && item.cl != undefined) {
if (item.cl == '1') {
item.txtcl = '√'
} else {}
}
arrylist.push(item);
}
me.leavelist = arrylist;
this.tableLoading = false;
},
function () {
this.disabled = false;
this.tableLoading = false;
}
);
}
效果图:
element ui table 表格排序的更多相关文章
- vue + element ui table表格二次封装 常用功能
因为在做后台管理项目的时候用到了大量的表格, 且功能大多相同,因此封装了一些常用的功能, 方便多次复用. 组件封装代码: <template> <el-table :data=&qu ...
- Vue+element ui table 导出到excel
需求: Vue+element UI table下的根据搜索条件导出当前所有数据 参考: https://blog.csdn.net/u010427666/article/details/792081 ...
- element ui设置表格表头高度和每一行的高度
填坑记录:今天用element ui的表格组件做用户信息展示,直接拉取的官网的代码过来,发现表头和每一行都太高了,如下: 因为第一次使用element ui的表格组件,不太清楚会遇到这样的坑,以为能轻 ...
- Element UI table组件源码分析
本文章从如下图所示的最基本的table入手,分析table组件源代码.本人已经对table组件原来的源码进行削减,源码点击这里下载.本文只对重要的代码片段进行讲解,推荐下载代码把项目运行起来,跟着文章 ...
- VUE -- 对 Element UI table中数据进行二次处理
时间——日期 后台经常给我们返回的是 时间戳 (例如:1535620671) 这时候我们页面展现的时候需要将时间戳转换为我们要的格式 例如 (YYYY-MM-DD HH:mm:ss) 如果是在Elem ...
- element ui table render-header自定义表头信息使用
在使用vue自定义组件内容过程之中,我们绝大多数情况下都是通过预先写好不同的html模板,再通过props传入不同的值来渲染不同的模板.例如我们需要实现一个<v-title size='1'&g ...
- Element UI table参数中的selectable的使用
Element UI table参数中的selectable的使用中遇到的坑:页面: <el-table-column :selectable='selectable' type="s ...
- element ui table 导出excel表格
https://blog.csdn.net/u010427666/article/details/79208145 vue2.0 + element UI 中 el-table 数据导出Excel1. ...
- element ui table(表格)点击一行展开
element ui是一个非常不错的vue的UI框架,element对table进行了封装,简化了vue对表格的渲染. element ui表格中有一个功能是展开行,在2.0版本官网例子中,只可以点击 ...
随机推荐
- 前置任务(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 在[前置任务列]中编辑任务关联,这是个正经的设置. 说他"正经",是因为在[手动模式]下,这个设置也是 ...
- LuoguP7713 「EZEC-10」打分 题解
Content 某个人去参加比赛,\(n\) 个评委分别给他打分 \(a_1,a_2,\dots,a_n\).这个人可以最多执行 \(m\) 次操作,每次操作将一个评委的分数加 \(1\).定义他的最 ...
- java 多线程: Thread 并发访问-代码块同步synchronized {};String作为被锁的对象
方法同步的弊端 方法同步的时候,如果一个方法需要线程安全控制的代码速度其实很快,但是还有其他的业务逻辑代码耗时非常长(比如网络请求),这样所有的线程就在这一块就等待着了,这样造成了极大的资源浪费如果并 ...
- SpringBoot 设置请求字符串格式为UTF-8
增加一个过滤器 package com.config; import com.jetsum.business.common.constant.CharsetConstant; import lombo ...
- C库函数将字符串转大小写
头文件 #include <algorithm> transform 函数 转大写 std::string str_write; // 全部转为大写 std::transform(str_ ...
- google protobuf学习笔记:windows下环境配置
欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/45371743 protobuf的使用和原理,请查看:http:/ ...
- 【LeetCode】9. Palindrome Number 回文数
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:回文数,回文,题解,Leetcode, 力扣,Python ...
- vue中使用JSX报错,如何解决
Support for the experimental syntax 'jsx' isn't currently enabled (32:12): 30 | }, 31 | render() { & ...
- 【jvm】04-我偷偷改了你编译后的class文件
[jvm]04-我偷偷改了你编译后的class文件 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请 ...
- 涂鸦智能 dubbo-go 亿级流量的实践与探索
涂鸦智能 dubbo-go 亿级流量的实践与探索 dubbo 是一个基于 Java 开发的高性能的轻量级 RPC 框架,dubbo 提供了丰富的服务治理功能和优秀的扩展能力.而 dubbo-go 在 ...