vue與element ui搭配,關於el-table表格的排序問題


關於sortable的參數

 

 

 1 <el-table
 2   :data="tableData"
 3   style="width: 100%"
 4   <!-- 數據由后台進行排序時sortable="custom",需要監聽排序點擊事件,會返回當前的prop和order -->
 5   @sort-change="changeSort"
 6   <!-- default-sort指定的默認排序,默認用date這一列排序,排序為升序,默認的排序也是升序 -->
 7   :default-sort="{prop: 'date', order: 'ascending'}"
 8   border>
 9   <el-table-column
10     prop="date"
11     label="日期"
12     <!-- 如果需要對表格的那一列進行排序,加一個sortable參數,可取的值有true,false,custom -->
13     sortable
14     <!-- sort-orders接收一個數組,用來指定點擊可排序表頭時排列的順序,默認是['ascending', 'descending', null]點擊時先升序ascending,再點擊降序descending,再點擊不排序null,按表格的默認索引排.可以自己設置排列順序 -->
15     :sort-orders="['ascending', 'descending']"
16     width="180">
17   </el-table-column>
18   <el-table-column
19     prop="name"
20     label="姓名"
21     <!-- sort-by指定數據按哪個屬性進行排序,如果不指定,就是按這里的prop值排,指定一個時寫成字符串形式:sort-by="name",指定多個時,使用數組.這里的效果就是,當姓名的值全部一樣時,就按address進行排序 -->
22     :sort-by="['name', 'address']"
23     sortable
24     width="180">
25   </el-table-column>
26   <el-table-column
27     prop="address"
28     label="地址"
29     <!-- 以上的參數排序都是在已得到的tableData數據上進行排序,如果數據做了分頁當前的數據不是全部的數據時,排序就需要后台進行排序,這時需要把sortable的值改為custom,在table中用sort-change事件監聽排序點擊事件 -->
30  sortable="custom">
31   </el-table-column>
32 </el-table>
33 
34 methods: {
35   // 從后台獲取數據,重新排序
36   changeSort (val) {
37     console.log(val) // column: {…} order: "ascending" prop: "date"
38     // 根據當前排序重新獲取后台數據,一般后台會需要一個排序的參數
39 
40   }
41 }

 非原創


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM