關於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 }
非原創