Я использую V-data-table вместе с vuex store. Ниже приведены пункты, как я настроил свою таблицу v-данных.
- Отключена сортировка по каждому столбцу
- привязать элементы v-data-table к данным хранилища состояний vuex
- использование sortablejs для перетаскивания строк
Проблема: когда я перетаскиваю строки в таблице v-данных, я обновляю хранилище vuex (обновляя значение индекса для объектов в массиве с помощью значения индекса строки таблицы). Vuex обновляется правильно, но данные, отображаемые в таблице v-данных, находятся не в том порядке, в котором они находятся в хранилище состояний vuex
Может ли кто-нибудь помочь мне в этом
Лучший способ, которым я пытался решить эту проблему, - это принудительно повторно отрисовать компонент v-data-table, но когда я это делаю, я больше не могу перетаскивать
Принудительно визуализируется с использованием следующего шаблона
<template>
<component-to-re-render :key="componentKey" />
</template>
// script
export default {
data() {
return {
componentKey: 0,
};
},
methods: {
forceRerender() {
this.componentKey += 1;
}
}
}
Sortable.create(table, { handle: ".handle", onEnd ({ newIndex, oldIndex }) { _self.$store.dispatch('adSets/updateAdSets', {oldIndex: oldIndex, newIndex: newIndex, orderId: _self.orderId, campaignId: _self.campaignId}) // location.reload() // _self.$refs.table.$forceUpdate() // _self.forceRerender() _self.reset() } })
- person Manideep Kothapalli   schedule 10.07.2019