|
@@ -63,10 +63,11 @@ function genHandler (
|
|
|
: `function($event){${handler.value}}` // inline statement
|
|
: `function($event){${handler.value}}` // inline statement
|
|
|
} else {
|
|
} else {
|
|
|
let code = ''
|
|
let code = ''
|
|
|
|
|
+ let genModifierCode = ''
|
|
|
const keys = []
|
|
const keys = []
|
|
|
for (const key in handler.modifiers) {
|
|
for (const key in handler.modifiers) {
|
|
|
if (modifierCode[key]) {
|
|
if (modifierCode[key]) {
|
|
|
- code += modifierCode[key]
|
|
|
|
|
|
|
+ genModifierCode += modifierCode[key]
|
|
|
// left/right
|
|
// left/right
|
|
|
if (keyCodes[key]) {
|
|
if (keyCodes[key]) {
|
|
|
keys.push(key)
|
|
keys.push(key)
|
|
@@ -78,6 +79,10 @@ function genHandler (
|
|
|
if (keys.length) {
|
|
if (keys.length) {
|
|
|
code += genKeyFilter(keys)
|
|
code += genKeyFilter(keys)
|
|
|
}
|
|
}
|
|
|
|
|
+ // Make sure modifiers like prevent and stop get executed after key filtering
|
|
|
|
|
+ if (genModifierCode) {
|
|
|
|
|
+ code += genModifierCode
|
|
|
|
|
+ }
|
|
|
const handlerCode = isMethodPath
|
|
const handlerCode = isMethodPath
|
|
|
? handler.value + '($event)'
|
|
? handler.value + '($event)'
|
|
|
: isFunctionExpression
|
|
: isFunctionExpression
|