Skip to content

Migrating from Vuetify VDataTable

God Kit GkDataTable follows the same mental model as Vuetify VDataTable / VDataTableServer, but uses explicit v-model fields and God Kit tokens. There is no legacy Options API or Vuetify defaults provider.

Component mapping

VuetifyGod Kit
VDataTableGkDataTable (mode="client", default)
VDataTableServerGkDataTableServer or GkDataTable with mode="server"
VDataTableVirtualGkDataTableVirtual

Props (common)

VuetifyGkDataTable
headersheaderskey, title, value, sortable, align, width, fixed, children, …
itemsitems
loadingloading
searchv-model:search (client filter)
sort-by / multi-sortv-model:sort-by, multi-sort
page / items-per-pagev-model:page, v-model:items-per-page
items-length (server)items-length + mode="server"
show-selectshow-select
show-expandshow-expand
item-valueitem-value
item-selectableitem-selectable
group-bygroup-by (first key used for group breaks on the current page)
hide-default-footerhide-default-footer
hide-default-headerhide-default-header

Slots

VuetifyGkDataTable
item.<name>item.<key>
header.<name>header.<key>
body.append / body.prependSame
no-datano-data
top / bottomSame
group-headergroup-header
Expanded contentexpanded-row

What is different

  • Styling: --gk-table-* tokens and Gk components — not Material Design 3 density classes.
  • Pagination: GkPagination + native <select> for page size (no v-data-footer clone).
  • i18n: Pass your own labels (e.g. “Rows per page”) via slots or future locale keys in your app.
  • Virtual: GkDataTableVirtual uses a CSS grid body; column resize / Excel-style grids are out of scope for the first release.

After migration, remove god-kit/bridge/vuetify.css from that route if Vuetify is fully gone.

Released under the MIT License.