vue.js - 使Vuetify v-data-table列按降序排序,然后按升序排序?
问题描述
在 Vuetifyv-data-table
示例中,当用户单击数据表的列标题时,该表首先按列的升序排序。第二次单击标题后,表格将按列的降序排序。
我想颠倒排序顺序:第一次单击导致按降序排序,第二次单击导致按升序排序。
有没有办法用 Vuetify 做到这一点v-data-table
?
解决方案
我想可能有一个更简单的解决方案,但似乎最好的答案是custom-sort
使用v-data-table
.
在单个文件组件的模板中:
<v-data-table
:headers="myHeaders"
:items="myItems"
:custom-sort="customSort"
></v-data-table>
在单个文件组件的 JS 中:
methods: {
customSort(items, index, isDesc) {
items.sort((a, b) => {
if (isDesc != "false") {
return a[index] < b[index] ? -1 : 1
} else {
return b[index] < a[index] ? -1 : 1
}
})
return items
}
},
注意:由于这实际上翻转了“降序”/“升序”项目,您可能还需要更改默认sort
图标:
new Vuetify({
icons: {
values: {
sort: 'mdi-arrow-down',
},
},
})
推荐阅读
- google-cloud-composer - cloud composer spark提交现有Hadoop集群
- freetype2 - 使用 notosan 字体进行奇怪的 freetype 渲染
- laravel-5.4 - 如何存储复选框值(laravel)
- operating-system - 调度员:它也可以从运行到就绪吗?
- javascript - 鼠标移动 | touchmove 性能问题
- c# - @Model 在 ASP.NET 中返回 null
- spring - 将 GZIP 与 RestTemplate 一起使用
- python - 人工神经网络预测输出从 1 到 5
- javascript - 无法从 Angular 上的购物车中删除商品
- php - 在控制器功能上加载 css