Для создания таблицы я использую vuetify
data-table
.Данные поступают с сервера express
, который запрашивается через axios
, а затем дает мне ответ, который структурирован следующим образом:
[
{
datetime: 123456789,
order: "abc100",
status: "ok"
},
{
datetime: 123456789,
order: "abc200",
status: "ok"
},
...
]
Этот ответ используется фронтом vue следующим образом:
<v-data-table
:headers="headers"
:items="orders"
>
<template slot="items" slot-scope="props">
<td >{{ props.item.order }}</td>
<td class="text-xs-right">{{ props.item.datetime }}</td>
<td >{{ props.item.status }}</td>
</template>
</v-data-table>
data () {
return {
headers: [
{ ... },
{ ... },
...
],
orders: []
}
},
created () {
QueryService.orders().then(response => this.orders = response.data)
}
Я знаю, что теперь могу изменить состояние с помощью this.orders
без перезагрузки всего сайта, но как я могу получить доступ к отдельным строкам?Они находятся в массиве, так как я могу добавить новый или изменить уже существующий, если у меня есть 1000 заказов?их трудно угадать по индексу.
РЕДАКТИРОВАТЬ:
Я не могу обновить таблицу данных с помощью this.orders = response.data
, и я не знаю почему.Сам код работает, и я могу проверить через console.log, что this.data
изменяется, но таблица данных не обновляется!
created () {
setInterval(function() {
QueryService.orders().then(response => this.orders = response.data)
}, 15000)
}
РЕДАКТИРОВАТЬ 2:
Я понял, что this.orders
, который назначен внутри QueryService
, не совпадает orders
с тем, что внутри data ()
, но я все еще не знаю, как получить доступ к orders
внутри data ()
.Я пробовал this.$data.orders
, но это тоже не работает.У кого-нибудь есть идея?