Merge 0d8b6c2353
into 5f8314cb7f
This commit is contained in:
commit
f8680d0007
|
@ -163,4 +163,16 @@ describe('runtime-dom: v-on directive', () => {
|
|||
triggerEvent(el2, 'click', e => (e.shiftKey = true))
|
||||
expect(fn).toBeCalledTimes(2)
|
||||
})
|
||||
|
||||
it('it should support "enter" and "tab" key modifiers', () => {
|
||||
const el = document.createElement('input')
|
||||
const fn = vi.fn()
|
||||
|
||||
const enterHandler = withModifiers(fn, ['enter', 'tab'])
|
||||
patchEvent(el, 'onKeyup', null, enterHandler, null)
|
||||
triggerEvent(el, 'keyup', e => (e.key = 'Enter'))
|
||||
expect(fn).toBeCalledTimes(1)
|
||||
triggerEvent(el, 'keyup', e => (e.key = 'Tab'))
|
||||
expect(fn).toBeCalledTimes(2)
|
||||
})
|
||||
})
|
||||
|
|
|
@ -72,7 +72,15 @@ export const withModifiers = <
|
|||
// Kept for 2.x compat.
|
||||
// Note: IE11 compat for `spacebar` and `del` is removed for now.
|
||||
const keyNames: Record<
|
||||
'esc' | 'space' | 'up' | 'left' | 'right' | 'down' | 'delete',
|
||||
| 'esc'
|
||||
| 'space'
|
||||
| 'up'
|
||||
| 'left'
|
||||
| 'right'
|
||||
| 'down'
|
||||
| 'delete'
|
||||
| 'enter'
|
||||
| 'tab',
|
||||
string
|
||||
> = {
|
||||
esc: 'escape',
|
||||
|
@ -82,6 +90,8 @@ const keyNames: Record<
|
|||
right: 'arrow-right',
|
||||
down: 'arrow-down',
|
||||
delete: 'backspace',
|
||||
enter: 'enter',
|
||||
tab: 'tab',
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue