Как я могу изменить порядок элементов в таблице данных Vuetify, перетаскивая строки?
Я работаю над веб-приложением Vuetify для клиента, и она хочет иметь возможность корректировать порядок элементов, отображаемых в таблице данных, перетаскивая строки, но документация Vuetify не объясняет, как это сделать; как я могу это сделать?
У вопроса есть решение - Посмотреть?
Ответы - Как я могу изменить порядок элементов в таблице данных Vuetify, перетаскивая строки? / How can I reorder the items in a Vuetify data table by dragging the rows?

09.10.2020 04:35:03
Вот кодовый код, который я получил в работе: https://codepen.io/NathanWailes/pen/rNLajYO
Он использует:
- Вю 2.х
- Vuetify 2.3.13
- Сортируемый 1.10.2 (поэтому вам нужно будет установить/импортировать его, если у вас его еще нет)
Он основан на ответах в этом выпуске GitHub.
Вот код:
<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)
}
}
},
})
Помочь в развитии проекта: