vuetify-skilld
Original:🇺🇸 English
Translated
ALWAYS use when writing code importing "vuetify". Consult for debugging, best practices, or modifying vuetify.
2installs
Added on
NPX Install
npx skill4agent add harlan-zw/vue-ecosystem-skills vuetify-skilldTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →vuetifyjs/vuetify vuetify
vuetifyVersion: 4.0.0-beta.2 (Feb 2026)
Tags: v1-stable: 1.5.24 (Mar 2020), v2-stable: 2.7.2 (Feb 2024), dev: 3.11.0 (Nov 2025), latest: 3.11.8 (Jan 2026), next: 4.0.0-beta.2 (Feb 2026)
References: Docs — API reference, guides • GitHub Issues — bugs, workarounds, edge cases • GitHub Discussions — Q&A, patterns, recipes • Releases — changelog, breaking changes, new APIs
API Changes
This section documents version-specific API changes — prioritize recent major/minor releases.
-
BREAKING:/
VRowGrid — complete overhaul using CSSVColinstead of negative margins.gapprop removed (usedense),density="compact"/alignonjustifyandVRow/orderonalign-selfremoved in favor of utility classes sourceVCol -
BREAKING: MD3 Typography — variant names renamed for Material Design 3 compliance:-
h1->h3,display-*-h4->h6,headline-*/subtitle-1->body-1,body-large/button->subtitle-2sourcelabel-large -
BREAKING: MD3 Elevation — elevation levels reduced from 25 (0-24) to 6 (0-5) to align with MD3 density-independent pixel levels source
-
BREAKING:Defaults —
VBtnremoved by default.text-transform: uppercaseSass variable replaced by$button-stacked-icon-marginsource$button-stacked-gap -
BREAKING:/
VSelect/VAutocomplete—VComboboxslot prop renamed toitem. TheinternalItemprop is now an alias foritemsourceinternalItem.raw -
BREAKING:Slot —
VForm,isValid, anderrorsslot variables are now unwrapped values instead ofisDisabledobjects sourceRef -
NEW:— rewritten in v4 to support showing multiple snackbars simultaneously;
VSnackbarQueueslot renamed todefaultsourceitem -
NEW:
VRowprop — provides fine-grained control over grid spacing, accepting numbers, strings, orgaparrays source[x, y] -
NEW:(experimental) — new labs component for grouping multiple avatars with overlapping support source
VAvatarGroup -
NEW:(experimental) — new labs component providing a search and action interface for application commands source
VCommandPalette
Also changed: promoted from labs · promoted from labs · prop new · prop new · prop new · props new · new entry point · default theme · removed · behavior changed
VCalendarVHotkeyVToolbarlocationVAvatarbadgeVProgressCircularrevealVTreeviewindent-linesvuetify/styles/coresystemVSnackbarmulti-lineVContainerfill-heightBest Practices
- Use the modifier in the
cmdcomposable for cross-platform compatibility — automatically resolves to Command on Mac and Control on PC sourceuseHotkey
ts
// Preferred: works on both Mac and PC
useHotkey('cmd+s', (e) => saveDocument(e))
// Avoid: hardcoding 'ctrl' may cause conflicts or feel non-idiomatic on Mac
useHotkey('ctrl+s', (e) => saveDocument(e))- Apply and
classto specific component keys in thestyleconfiguration — these are not supported in thedefaultsdefaults key sourceglobal
ts
// Preferred
createVuetify({
defaults: {
VBtn: {
class: 'text-none',
style: { textTransform: 'none' }
}
}
})
// Avoid: class and style are ignored in global
createVuetify({
defaults: {
global: { class: 'text-none' }
}
})- Resolve style conflicts between Vuetify and TailwindCSS by redefining CSS layer order — place Vuetify's styles in a dedicated layer with lower precedence than Tailwind's base layer source
css
/* main.css */
@layer theme, base, vuetify, components, utilities;
@import 'vuetify/styles' layer(vuetify);
@import 'tailwindcss';-
Usewith
v-text-fieldfor high-precision decimal arithmetic —decimal.jsusesVNumberInputinternally and may suffer from standard JavaScript floating-point inaccuracies sourcetoFixed() -
Centralize snackbar messages using global state (e.g., Pinia) with— allows triggering notifications from any part of the application by pushing to a shared array source
v-snackbar-queue
vue
<template>
<v-app>
<v-snackbar-queue v-model="messages.queue" />
</v-app>
</template>- Use the prop to explicitly control layout component priority — overrides the default behavior where priority is determined solely by markup order source
order
vue
<v-navigation-drawer />
<v-app-bar :order="-1" />-
Utilize's
useDate()andparseISOmethods for standardizing date strings —toISOand other date components internally expect and return native JSVDateInputobjects sourceDate -
Use(experimental) for keyboard-driven power-user workflows — provides a pre-configured, accessible, and searchable dialog interface that implements ARIA best practices automatically source
v-command-palette -
Restore previous negative-margin/padding grid behavior during Vuetify 4 migration using theblock — necessary when existing layouts rely on the legacy system instead of the new CSS
@layer vuetify-overridesproperty sourcegap
scss
@layer vuetify-overrides {
.v-row {
gap: unset;
margin: calc(var(--v-col-gap-y) * -.5) calc(var(--v-col-gap-x) * -.5);
}
}