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版本官网例子中,只可以点击 ...
随机推荐
- LuoguP4419 [COCI2017-2018#1] Cezar 题解
Content 有一个牌库,有一些点数为 \(1\sim 11\) 的牌,其中除了点数为 \(10\) 的牌有 \(16\) 张之外,其余点数的牌各有四张.现在玩一个游戏,已经拿出了 \(n\) 张牌 ...
- 缓存系统redis操作、mongdb、memeche
mongdb :默认数据持久化,存在内存的同时也向硬盘写数据. redis:可配置数据持久化,默认数据在内存中 memeche:only support 内存模式 redis操作 https://ww ...
- Linux的课堂便利脚本
上课的时,因为教室机总会重新重启,有时候就要重配网卡yum源和下载一些辅助工具,这里写一个脚本省去冗杂的过程 if [[]]可以防止unary operator expected的报错 nmcli d ...
- Open-UI序言
Open_UI-----序言 在单片机开发的时候,我们时常需要一个足够开放的,体积足够小巧,且移植性较高的UI库来显示信息,从而做到非常优秀的人机交互效果.而我试过的UI库如下: LVGL 这是目 ...
- float浮动的详细总结
float浮动的详细总结 1.定位方案 在css中,有4种常用的方法对元素进行定位和布局: normal flow:标准流.文档流: position:定位(relative.absolute.fix ...
- java类型转换拓展
数据类型拓展 在Java中二进制用0b开头,八进制用0开头,十六进制用0x表示 整数拓展 int i=10; int i2=010;//八进制 int i3=0x10;//十六进制0x,0-9,A- ...
- nim_duilib之msgbox用法(23)
概述 本文将介绍 msgbox 的用法 更多用法,请参考 源码 改进了原有的xml样式 一个样式 xml结构 整体垂直布局 xml源码 demo源码下的msg/msg.xml文件内容 改为如下 注意: ...
- c++11之获取模板函数的参数个数和函数返回值类型
本文演示c++需要支持c++11及以上标准 获取参数个数 1.模板函数声明 template <class R, class... Args> R getRetValue(R(*)(Arg ...
- 【LeetCode】72. Edit Distance 编辑距离(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 记忆化搜索 动态规划 日期 题目地址:http ...
- 【LeetCode】904. Fruit Into Baskets 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/fruit-in ...