前端工作总结182-element-ui el-table sortable属性 参数详解
表格组件的排序功能,点击排序表头可以进行升序和降序进行排序
上代码
-
<el-table -
:data="tableData" -
style="width: 100%" -
<!-- 数据由后台进行排序时sortable="custom",需要监听排序点击事件,会返回当前的prop和order --> -
@sort-change="changeSort" -
<!-- default-sort指定的默认排序,默认用date这一列排序,排序为升序,默认的排序也是升序 --> -
:default-sort="{prop: 'date', order: 'ascending'}" -
border> -
<el-table-column -
prop="date" -
label="日期" -
<!-- 如果需要对表格的那一列进行排序,加一个sortable参数,可取的值有true,false,custom --> -
sortable -
<!-- sort-orders接收一个数组,用来指定点击可排序表头时排列的顺序,默认是['ascending', 'descending', null]点击时先升序ascending,再点击降序descending,再点击不排序null,按表格的默认索引排.可以自己设置排列顺序 --> -
:sort-orders="['ascending', 'descending']" -
width="180"> -
</el-table-column> -
<el-table-column -
prop="name" -
label="姓名" -
<!-- sort-by指定数据按哪个属性进行排序,如果不指定,就是按这里的prop值排,指定一个时写成字符串形式:sort-by="name",指定多个时,使用数组.这里的效果就是,当姓名的值全部一样时,就按address进行排序 --> -
:sort-by="['name', 'address']" -
sortable -
width="180"> -
</el-table-column> -
<el-table-column -
prop="address" -
label="地址" -
<!-- 以上的参数排序都是在已得到的tableData数据上进行排序,如果数据做了分页当前的数据不是全部的数据时,排序就需要后台进行排序,这时需要把sortable的值改为custom,在table中用sort-change事件监听排序点击事件 --> -
sortable="custom"> -
</el-table-column> -
</el-table> -
methods: { -
// 从后台获取数据,重新排序 -
changeSort (val) { -
console.log(val) // column: {…} order: "ascending" prop: "date" -
// 根据当前排序重新获取后台数据,一般后台会需要一个排序的参数 -
} -
}

浙公网安备 33010602011771号