鍍金池/ 問答/HTML/ element-ui表格分頁以后,日期排序亂了,只是對當前頁面排序,沒有對整個數(shù)

element-ui表格分頁以后,日期排序亂了,只是對當前頁面排序,沒有對整個數(shù)據(jù)排序

如題,表格沒有分頁前是按照日期順序排序的,分頁以后日期排序亂了,如下圖
這是第一頁
圖片描述

這是第二頁
圖片描述

很顯然,日期順序亂了,只是在當前頁面排序了,沒有進行整個排序。
我的代碼如下

<template>
  <div>
    ...
          <div>
            <el-table
              :data="tableData.slice((currentPage-1)*pagesize,currentPage*pagesize)"
              border
              style="width: 100%"
              :default-sort = "{prop: 'date', order: 'descending'}">
              <el-table-column
                prop="date"
                label="Modified Date"
                width="180">
              </el-table-column>
              <el-table-column
                prop="name"
                label="Experiment Name"
                width="180">
              </el-table-column>
              <el-table-column
                prop="content"
                label="Content"
                width="640">
              </el-table-column>
            </el-table>
            <br><br>
            <div class="block">
              <el-pagination
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                :current-page="currentPage"
                :page-sizes="[10, 20, 30, 40]"
                :page-size="pagesize"
                layout="total, sizes, prev, pager, next, jumper"
                :total="tableData.length">
              </el-pagination>
            </div>
            </div>
...
</template>

<script>
...
    export default{
      data() {
        return {
          tableData:[{
            date: '',
            name: '',
            content: ''
          }],
          currentPage: 1,
          pagesize:10
        }
      },
      mounted: function(){
        this.getAbHistory();
      },
      methods:{
        handleSizeChange(size) {
          this.pagesize = size;
        },
        handleCurrentChange(currentPage) {
          this.currentPage = currentPage;
        },
        getAbHistory(){
          axios.get("/historyScan/AbHistory").then(result =>{
            var res = result.data;
            if(res.status == "0"){
              let values = res.result.hbaseRst;
              var data = []
              for (let i = 0; i < values.length; i++){
                var obj = {}
                obj.name= values[i].key;
                obj.date = moment(values[i].timestamp).format("YYYY-MM-DD HH:mm:ss");
                obj.content = values[i].$;
                data[i] = obj
              }
              this.tableData = data;;
            }
            else{
              this.$message.error('錯誤,無法獲取A/B test 歷史記錄');
            }
          });
        }

      }

    }
</script>

請大神指教一下,如何對整個數(shù)據(jù)進行排序,前端代碼應該如何修改,謝謝

回答
編輯回答
哎呦喂

element table 排序有一個遠程排序
sortable 對應列是否可以排序,如果設(shè)置為 'custom',則代表用戶希望遠程排序,需要監(jiān)聽 Table 的 sort-change 事件
然后在后端進行全量數(shù)據(jù)排序,返回過來的值頁面會進行再次排序

2017年10月21日 01:46
編輯回答
脾氣硬

分頁的排序要后端來做

2017年11月21日 03:44
編輯回答
半心人

整個數(shù)據(jù)按時間排序?那是要傳個標識告訴后端,再把數(shù)據(jù)返回吧。element的排序一版都是針對當前頁數(shù)據(jù)的

2018年5月4日 12:51
編輯回答
殘淚

整體數(shù)據(jù)的排序還是交給后端吧,前端傳參就可以了。
前端要搞這個的話,需要你把所有數(shù)據(jù)傳過來才行,不然只能對已經(jīng)有的數(shù)據(jù)排序(不建議這么做)。
具體怎么做已經(jīng)有朋友回答了,我就不贅述了。

2018年7月3日 04:03