Emits
Click
VTable emits a click event when a row is clicked. Note that adding the clickable class changes the cursor to a pointer when hovering over rows:
vue
<script setup lang="ts">
function handleUserClick(user: User) {
router.push({ name: 'user.show', { params: { id: user.id } } });
}
</script>
<template>
<VTable
:items="items"
@click="handleUserClick"
class="clickable"
/>
</template>Sort
VTable emits a sort event when the order of rows changes (if sortable is enabled):
vue
<script setup lang="ts">
function sortItems(items: Items) {
sendNewItemOrderToServer(items.map(item => item.id));
}
</script>
<template>
<VTable
:items="items"
sortable
@sort="sortItems"
/>
</template>Update Selected
The update:selected event is emitted when the selection changes (if selectable is enabled):
vue
<VTable
:items="items"
selectable
v-model:selected="selected"
/>Update Order By
The update:orderBy event is emitted when the order criteria changes (if orderable is enabled):
vue
<VTable
:items="items"
:orderable="['id', 'name']"
v-model:order-by="orderBy"
/>
VTable