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版本官网例子中,只可以点击 ...
随机推荐
- &pwn1_sctf_2016 &ciscn_2019_n_1 &ciscn_2019_c_1 &ciscn_2019_en_2&
在做buu题目的时候,发现在最上面有几道被各位师傅打到1分的题,强迫症逼迫我去做那几道题. 这里来试着去解决这些题...讲真的,我感觉自己刷题真的少,即使是很简单的栈题目,我还是能学习到新的东西.这里 ...
- 🔥🔥🔥【已开源】Flutter 腾讯优量汇广告插件,帮助开发者获利 - FlutterAds
前言 Flutter 已成为目前最流行的跨平台框架之一,在近期的几个大版本的发布中都提到了 Flutter 版本 Google 广告插件 [google_mobile_ads] .对于"出海 ...
- C# SAP Connector .NET Framework 4.5 版本下载
公司对接 SAP 数据使用 SAP Connector 程序,主要是两个类库:sapnco.dll.sapnco_utils.dll 但是没想到它的版本如此混乱,.NET 2.0 和 .NET 4.0 ...
- 突出显示(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 当一个大的项目文件做好以后,查看全部内容,肉眼多少会有点吃不消,这时就需要"划重点".在Porect里 ...
- 使用.NET 6开发TodoList应用(3)——引入第三方日志库
需求 在我们项目开发的过程中,使用.NET 6自带的日志系统有时是不能满足实际需求的,比如有的时候我们需要将日志输出到第三方平台上,最典型的应用就是在各种云平台上,为了集中管理日志和查询日志,通常会选 ...
- 卸载zabbix
1.首先停止zabbix运行 可以用官方命令 systemctl stop zabbix-server zabbix-agent httpd rh-php72-php-fpm 也可以直接kill -9 ...
- 使用IDEA开发的java compiler经常会自动变为1.5
在maven的pom.xml文件里面 在profiles下 <profile> <id>jdk-1.8</id> <activation> <ac ...
- IDEA快速创建一个简单的SpringBoot项目(需要联网)
一.点击File-New-Project,选择Spring initializr ,选择jdk1.8及以上 二.填写相关信息,点击Next 3.选择Web -Spring Web,点击Next 4.输 ...
- springboot 配置devtools热部署(不用重启服务可以刷新页面)
一.加入devtools依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifa ...
- 查找MySql的配置文件my.cnf所在路径
Linux系统 linux 上可以使用 mysql --help|grep my.cnf 过滤查看 [root@localhost etc]# mysql --help|grep my.cnf ord ...