element ui table表格属性排序问题sort-change

时间:2024-11-13 11:08:27
//此处的Key不确定是干啥的~ <el-table :key="tableKey" //v-loading是用于显示表格中是否在数据请求时显示正在加载中,一般是数据请求时显示,数据请求后不显示 v-loading="listLoading" //data是表格中的数据 :data="list" //表格的高度 :height="screenHeight" //监听属性排序的方法 @sort-change="sortChange" //表格中数据加载时,显示的文字可以进行自定义 element-loading-text="正在努力加载中..." //表格的边框 border //表格中宽度是否自动撑开 fit //表格中的当前行是否高亮显示 highlight-current-row //表格显示css样式,比如设置宽度 style="width: 100%"> //此列为序号,label标签 type是自定义的序号为Index,align是居中/靠左/靠右,show-overflow-tooltip是指:当内容过长被隐藏是显示tooltip,width就是设置宽度 <el-table-column label="序号" type="index" align="center" show-overflow-tooltip width="50"> </el-table-column> //此列中的sortable prop都是为了属性排序 <el-table-column :label="'ID'" align="center" width="164px" :sortable="'custom'" prop="ID"> <template slot-scope="scope"> <span>{{ scope.row.id }}</span> </template> </el-table-column> </el-table> //上方代码中的height,也就是表格的高度是通过页面自动计算出来的,在data中有说明。 data(){ return{ screenHeight: `${document.documentElement.clientHeight}` - 242, } } //以下代码放在methods中 sortChange(column) { //打印看看参数有哪些? console.log('排序', column.prop, column.order); //排序默认是从第一页开始 this.listQuery.page = 1; //排序的字段是属性名 this.listQuery.param.sort = column.prop; //排序的方式是根据上下选择来确定 this.listQuery.param.asc = (column.order == 'ascending' ? true : false); //此方法为获取数据的方法 this.getPage(); }, getPage() { //表格加载中~ this.listLoading = true; //调用Page接口,传递参数, page(this.listQuery).then(response => { this.list = response.result.data; this.total = response.result.total; //隐藏加载中~ this.listLoading = false; }); }