Я довольно новичок в Vue.js и у меня работает Laravel-backend / API, к которому интерфейс Vue-powered подключается через axios-запросы.
Однако я очень сильно борюсь с реализацией Datatables: мне нужно добавить нижний колонтитул таблицы, который суммирует один столбец таблицы, содержащий часы нескольких элементов отслеживания времени.
Я использую vue2-datatable 2 . Я знаю, что этот компонент устарел, но, к сожалению, я застрял с этим и не имею возможности переключиться на другой компонент данных.
В моем Vue-файле я называю таблицу данных:
<datatable v-if="!loading" :columns="columns" :data="data" :query="query" :xprops="xprops" />
Часть данных выглядит следующим образом:
<script>
import { mapGetters, mapActions } from 'vuex'
import DatatableActions from '../../dtmodules/DatatableActions'
import DatatableSingle from '../../dtmodules/DatatableSingle'
import DatatableList from '../../dtmodules/DatatableList'
import DatatableCheckbox from '../../dtmodules/DatatableCheckbox'
export default {
data() {
return {
columns: [
{ title: 'Costcenter', field: 'costcenter', sortable: true, colStyle: 'width: 120px;' },
{ title: 'Project', field: 'project_assignment', tdComp: DatatableSingle, sortable: true },
{ title: 'User', field: 'user_assignment', sortable: true, tdComp: DatatableSingle },
{ title: 'Date', field: 'timeitem_begin', sortable: true, colStyle: 'width: 50px;' },
{ title: 'Hours', field: 'timeamount', sortable: true },
],
query: { sort: 'timeitem_begin', order: 'desc' },
xprops: {
module: 'AnalyticsIndex',
route: 'timeitems',
permission_prefix: 'timeitem_'
},
analytics_date_from: '',
analytics_date_to: ''
}
},
Есть пример, включающий нижний колонтитул (https://onewaytech.github.io/vue2-datatable/examples/dist/#advanced),), и я предполагаю, что мне следует создать другой компонент, например, импортированные модули выше. И в какой-то момент часы должны быть суммированы в виде «всего» - переменная. Но, честно говоря, я не знаю, с чего начать и где ее поместить. Где бы я сказал дататабле для фактического рендеринга нижнего колонтитула?
Любая подсказка будет высоко оценена, и я рад предоставить больше контекста, если необходимо.