Vue · VUE0015
Prefer props destructure defaults
Finds Vue style code that should use the supported props destructure defaults pattern instead.
vue/style/prefer-props-destructure-defaultssrc/rule-packs/vue/rules/vue/prefer-props-destructure-defaults.ts Upstream docs Run this rule
pnpm vite-doctor . --framework vue --rules vue/style/prefer-props-destructure-defaults
Why it matters
Vue's reactive props destructure expresses defaults at the binding site and avoids a separate withDefaults() wrapper in supported Vue versions.
Recommended fix
Use the Vue-supported props destructure defaults pattern instead.
Useful links
Example
Use reactive props destructure defaults
Before
<script setup lang="ts">
withDefaults(defineProps<{ label?: string }>(), {
label: 'Save',
})
</script>
After
<script setup lang="ts">
const { label = 'Save' } = defineProps<{ label?: string }>()
</script>