Vue:如何在按住键盘修饰符时更改按钮的文本?
Vue: How to change a button's text while a keyboard modifier is held?
使用 Vue,我试图让按钮在按住 Shift 键时改变其行为。
像这样更改 click
事件的行为非常容易:
@click.exact="goForward"
@click.shift="goBackward"
但是,我正在努力更改按钮的文本以反映此行为。默认文本是 Forward
,我试图在按住 Shift 键时将其更改为 Backward
。
我尝试使用 @mouseover.shift
但它不够好,因为它没有捕获 mouse enters the button, then user holds shift
的情况
您可以使用 vue-keypress 包:
<template>
<div>
...
<button>{{ buttonText }}</button>
...
<Keypress key-event="keydown" :key-code="16" @success="buttonText = 'Backward'" />
<Keypress key-event="keyup" :key-code="16" @success="buttonText = 'Forward'" />
</div>
</template>
<script>
export default
{
data: () => ({
buttonText: 'Forward',
}),
}
</script>
使用 Vue,我试图让按钮在按住 Shift 键时改变其行为。
像这样更改 click
事件的行为非常容易:
@click.exact="goForward"
@click.shift="goBackward"
但是,我正在努力更改按钮的文本以反映此行为。默认文本是 Forward
,我试图在按住 Shift 键时将其更改为 Backward
。
我尝试使用 @mouseover.shift
但它不够好,因为它没有捕获 mouse enters the button, then user holds shift
您可以使用 vue-keypress 包:
<template>
<div>
...
<button>{{ buttonText }}</button>
...
<Keypress key-event="keydown" :key-code="16" @success="buttonText = 'Backward'" />
<Keypress key-event="keyup" :key-code="16" @success="buttonText = 'Forward'" />
</div>
</template>
<script>
export default
{
data: () => ({
buttonText: 'Forward',
}),
}
</script>