How can I reorder the items in a Vuetify data table by dragging the rows?(如何通过拖动行对Vutify数据表中的项目进行重新排序?)
本文介绍了如何通过拖动行对Vutify数据表中的项目进行重新排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在为一位客户开发Vutify Web应用,她希望能够通过拖放行来调整元素在数据表中的显示顺序,但Vutify文档没有说明如何做到这一点;我该如何做到这一点?
推荐答案
这是我使用的CodePen:https://codepen.io/NathanWailes/pen/rNLajYO
它使用:
- Vue 2.x
- 认证2.3.13
- Sortable1.10.2(如果您还没有,则需要安装/导入它)
它基于this GitHub issue中的答案。
代码如下:
<div id="app">
<v-app>
<v-data-table
:headers="headers"
:items="desserts"
v-sortable-data-table
@sorted="saveOrder"
item-key="name"
></v-data-table>
</v-app>
</div>
new Vue({
el: '#app',
vuetify: new Vuetify(),
data () {
return {
headers: [
{
text: 'Dessert',
align: 'start',
sortable: false,
value: 'name',
},
],
desserts: [
{
name: 'Frozen Yogurt',
},
{
name: 'Ice cream sandwich',
},
{
name: 'Eclair',
},
{
name: 'Cupcake',
},
{
name: 'Gingerbread',
},
],
}
},
methods: {
saveOrder (event) {
const movedItem = this.desserts.splice(event.oldIndex, 1)[0];
this.desserts.splice(event.newIndex, 0, movedItem);
}
},
directives: {
sortableDataTable: {
bind (el, binding, vnode) {
const options = {
animation: 150,
onUpdate: function (event) {
vnode.child.$emit('sorted', event)
}
}
Sortable.create(el.getElementsByTagName('tbody')[0], options)
}
}
},
})
这篇关于如何通过拖动行对Vutify数据表中的项目进行重新排序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何通过拖动行对Vutify数据表中的项目进行重新排序?
基础教程推荐
猜你喜欢
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 动态更新多个选择框 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01