mirror of
https://github.com/rubickCenter/rubick
synced 2025-06-27 23:52:50 +08:00
✨ add new keyboard events
This commit is contained in:
parent
b9f4333c01
commit
a2c5bcc90c
@ -103,22 +103,12 @@ watch(
|
||||
);
|
||||
|
||||
const changeIndex = (index) => {
|
||||
if (!options.value.length) {
|
||||
if (!pluginHistory.value.length) return;
|
||||
if (
|
||||
currentSelect.value + index > pluginHistory.value.length - 1 ||
|
||||
currentSelect.value + index < 0
|
||||
) {
|
||||
currentSelect.value = 0;
|
||||
return;
|
||||
}
|
||||
currentSelect.value = currentSelect.value + index;
|
||||
return;
|
||||
}
|
||||
if (currentSelect.value + index > options.value.length - 1) {
|
||||
const len = options.value.length || pluginHistory.value.length;
|
||||
if (!len) return;
|
||||
if (currentSelect.value + index > len - 1) {
|
||||
currentSelect.value = 0;
|
||||
} else if (currentSelect.value + index < 0) {
|
||||
currentSelect.value = options.value.length - 1;
|
||||
currentSelect.value = len - 1;
|
||||
} else {
|
||||
currentSelect.value = currentSelect.value + index;
|
||||
}
|
||||
|
@ -25,6 +25,8 @@
|
||||
ref="mainInput"
|
||||
class="main-input"
|
||||
@input="(e) => changeValue(e)"
|
||||
@keydown.left="(e) => keydownEvent(e, 'left')"
|
||||
@keydown.right="(e) => keydownEvent(e, 'right')"
|
||||
@keydown.down="(e) => keydownEvent(e, 'down')"
|
||||
@keydown.tab="(e) => keydownEvent(e, 'down')"
|
||||
@keydown.up="(e) => keydownEvent(e, 'up')"
|
||||
@ -41,10 +43,7 @@
|
||||
>
|
||||
<template #suffix>
|
||||
<div class="suffix-tool">
|
||||
<MoreOutlined
|
||||
@click="showSeparate()"
|
||||
class="icon-more"
|
||||
/>
|
||||
<MoreOutlined @click="showSeparate()" class="icon-more" />
|
||||
</div>
|
||||
</template>
|
||||
</a-input>
|
||||
@ -120,6 +119,12 @@ const keydownEvent = (e, key: string) => {
|
||||
case 'down':
|
||||
emit('changeCurrent', 1);
|
||||
break;
|
||||
case 'left':
|
||||
emit('changeCurrent', -1);
|
||||
break;
|
||||
case 'right':
|
||||
emit('changeCurrent', 1);
|
||||
break;
|
||||
case 'enter':
|
||||
if (runPluginDisable) return;
|
||||
emit('choosePlugin');
|
||||
|
Loading…
x
Reference in New Issue
Block a user