Files
coba-tampilan/pages/tables/datatables/SortingTable.vue

54 lines
1.9 KiB
Vue

<script setup lang="ts">
import { ref } from 'vue';
import BaseBreadcrumb from '@/components/shared/BaseBreadcrumb.vue';
import UiParentCard from '@/components/shared/UiParentCard.vue';
import { BasicDatatables } from '@/_mockApis/components/datatable/dataTable';
const page = ref({ title: 'Data Table Sorting' });
const breadcrumbs = ref([
{
text: 'Dashboard',
disabled: false,
href: '#'
},
{
text: 'Data Table Sorting',
disabled: true,
href: '#'
}
]);
/*Header Data*/
const sortBy:any = ref([
{ key: 'name', order: 'desc' }
])
const headers : any = ref([
{ title: 'Name', align: 'start', key: 'name', sortable: false },
{ title: 'Project Name', align: 'start', key: 'project' },
{ title: 'Post', align: 'start', key: 'post' },
{ title: 'Status', align: 'start', key: 'status' },
{ title: 'Budget', align: 'end', key: 'budget' },
])
</script>
<template>
<BaseBreadcrumb :title="page.title" :breadcrumbs="breadcrumbs"></BaseBreadcrumb>
<v-row>
<v-col cols="12">
<UiParentCard title="Basic Sorting">
<v-data-table items-per-page="5" :headers="headers" :items="BasicDatatables" item-value="name"
v-model:sort-by="sortBy" class="border rounded-md datatabels">
</v-data-table>
<v-card class="mt-4 elevation-0 border mt-3 pa-4">
<pre>{{ sortBy }}</pre>
</v-card>
</UiParentCard>
<UiParentCard title="Multi Sorting" class="mt-6">
<v-data-table items-per-page="5" :headers="headers" :items="BasicDatatables"
:sort-by="[{ key: 'project', order: 'asc' }, { key: 'post', order: 'desc' }]" multi-sort
class="border rounded-md datatabels">
</v-data-table>
</UiParentCard>
</v-col>
</v-row>
</template>