#vue.js #vuetify.js
#vue.js #vuetify.js
Вопрос:
У меня есть компонент Vuetify Datatable с данными на стороне сервера. Я хотел бы отсортировать данные на стороне клиента с тем, что я сейчас отображаю. Но когда я нажимаю на столбец для сортировки, он ничего не делает. Столбец содержит строковые значения.
Ниже приведен мой datatable:
<v-data-table
:page="page"
:pageCount="numberOfPages"
:headers="headers"
:items="services"
:options.sync="options"
:server-items-length="totalElements"
:loading="loading"
:custom-filter="filterOnlyCapsText"
class="elevation-1"
@update:page="updatePagination"
:items-per-page="itemsPerPage"
@update:items-per-page="setItemsPerPage"
>
Мой код Vuejs:
data() {
return {
headers: [
{
text: "Service",
value: "name",
sortable: true,
},
{
text: "Application",
value: "application.name",
},
{
text: "Description",
value: "description",
},
{
text: "Endpoint",
value: "endpoint",
},
{
text: "Environment",
value: "environmentList",
},
],
page: 1,
totalElements: 0,
numberOfPages: 0,
services: [],
loading: true,
options: {},
itemsPerPage: 0,
search: "",
};
},
options: {
handler() {
console.log("handler got called");
},
deep: true,
},
Я не уверен, что нужно для сортировки столбца на стороне клиента. Есть ли слушатель, к которому мне нужно подключиться?
Спасибо
Комментарии:
1. Можете ли вы поделиться рабочим примером?
Ответ №1:
Вы используете подкачку на стороне сервера и должны реализовать эту функциональность с помощью соответствующих вызовов API, когда события
update:page, update:sortBy, update:options
отправлено.
Это правильное поведение, потому что обычно вам нужно отсортировать весь набор данных, но не текущую страницу.
Опция, которая включает поведение на стороне сервера: server-items-length
Определение этого реквизита отключит встроенную сортировку и разбивку на страницы.
Комментарии:
1. ваш ответ абсолютно правильный, и у меня он работает так, но есть некоторые случаи, когда я хотел бы отсортировать только доступные записи на стороне клиента, например: добавив новую запись, я отправляю данные на сервер, но я также хочу ввести их в таблицу в правильном положенииили в случае ошибки во время удаления, когда я удаляю запись из таблицы, прежде чем ждать ответа сервера, мне может потребоваться ввести ее снова в ее положение… было бы неплохо, если бы он также автоматически сортировался на стороне клиента, как только данные были изменены…