fix crud table

This commit is contained in:
Kuchenpirat 2025-06-18 11:21:55 +00:00
commit 5eb7528531

View file

@ -65,7 +65,7 @@
class="elevation-2" class="elevation-2"
> >
<template <template
v-for="header in activeHeaders" v-for="header in headersWithoutActions"
#[`item.${header.value}`]="{ item }" #[`item.${header.value}`]="{ item }"
> >
<slot <slot
@ -172,27 +172,23 @@ export default defineNuxtComponent({
// =========================================================== // ===========================================================
// Reactive Headers // Reactive Headers
const filteredHeaders = ref<string[]>([]); const filteredHeaders = computed<string[]>(() => {
return props.headers.filter(header => header.show).map(header => header.value);
});
// Set default filtered const headersWithoutActions = computed(() =>
filteredHeaders.value = (() => { props.headers
const filtered: string[] = []; .filter(header => filteredHeaders.value.includes(header.value))
props.headers.forEach((element) => { .map(header => ({
if (element.show) { ...header,
filtered.push(element.value); title: i18n.t(header.text),
} })),
}); );
return filtered;
})();
const activeHeaders = computed(() => { const activeHeaders = computed(() => [
const filtered = props.headers.filter(header => filteredHeaders.value.includes(header.value)).map((h) => { ...headersWithoutActions.value,
const { text, ...rest } = h; { title: "", value: "actions", show: true, align: "end" },
return { ...rest, title: i18n.t(text) }; ]);
});
filtered.push({ title: "", value: "actions", show: true, align: "right" });
return filtered;
});
const selected = ref<any[]>([]); const selected = ref<any[]>([]);
@ -219,6 +215,7 @@ export default defineNuxtComponent({
sortBy, sortBy,
selected, selected,
filteredHeaders, filteredHeaders,
headersWithoutActions,
activeHeaders, activeHeaders,
bulkActionListener, bulkActionListener,
search, search,