當使用<vxe-grid>組件時,利用sort()方法對某一列進行數據的實時排序
<template> <vxe-grid ref="userGrid" :columns="tableColumn" :data="tableData" > </vxe-grid> </template> <script> methods: { realTimeSort(){ // 實時排序 var sortColumnData = this.$refs.userGrid.getSortColumns() // 獲取需要排序的列 this.$refs.userGrid.updateData() // 更新排序的數據 this.$refs.userGrid.sort(sortColumnData.property, sortColumnData.order) // 排序 }, getTableData(){ // 從后台實時獲取數據 ...... this.realTimeSort() } } </script>
當表格數據變化時,利用getTableData()函數可以發現表格在實時變化。但就算表格數據在實時變化,如果在每次獲取表格數據后利用sort()進行排序也不能實現實時排序,必須在排序前加updateData()函數才能實現實時排序。
個人認為可能是第一次點擊排序時就記下了那個時間點的表格數據,以后每次調用也都是利用該時間點的表格數據進行排序,因此不能實現實時排序,而調用updateData()函數便更新了排序使用的表格數據。