diff --git a/packages/vuetify/src/components/VAutocomplete/VAutocomplete.tsx b/packages/vuetify/src/components/VAutocomplete/VAutocomplete.tsx index afdf33fc1d2..e676a30a39e 100644 --- a/packages/vuetify/src/components/VAutocomplete/VAutocomplete.tsx +++ b/packages/vuetify/src/components/VAutocomplete/VAutocomplete.tsx @@ -552,6 +552,14 @@ export const VAutocomplete = genericComponent( } } + function onKeydownClear (e: KeyboardEvent) { + if (e.key !== 'Enter' && e.key !== ' ') return + + e.preventDefault() + e.stopPropagation() + + props['onClick:clear']?.(new MouseEvent('click')) + } + useRender(() => { const isOutlined = props.variant === 'outlined' const hasPrepend = !!(slots['prepend-inner'] || props.prependInnerIcon) @@ -321,7 +330,7 @@ export const VField = genericComponent( > { slots.clear ? slots.clear() - : + : } diff --git a/packages/vuetify/src/components/VSelect/VSelect.tsx b/packages/vuetify/src/components/VSelect/VSelect.tsx index 44814fdde29..8f10f8ea1b4 100644 --- a/packages/vuetify/src/components/VSelect/VSelect.tsx +++ b/packages/vuetify/src/components/VSelect/VSelect.tsx @@ -463,6 +463,14 @@ export const VSelect = genericComponent