add new keyboard events

This commit is contained in:
layyback 2024-07-18 18:58:34 +08:00
parent b9f4333c01
commit a2c5bcc90c
2 changed files with 13 additions and 18 deletions

View File

@ -103,22 +103,12 @@ watch(
); );
const changeIndex = (index) => { const changeIndex = (index) => {
if (!options.value.length) { const len = options.value.length || pluginHistory.value.length;
if (!pluginHistory.value.length) return; if (!len) return;
if ( if (currentSelect.value + index > len - 1) {
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) {
currentSelect.value = 0; currentSelect.value = 0;
} else if (currentSelect.value + index < 0) { } else if (currentSelect.value + index < 0) {
currentSelect.value = options.value.length - 1; currentSelect.value = len - 1;
} else { } else {
currentSelect.value = currentSelect.value + index; currentSelect.value = currentSelect.value + index;
} }

View File

@ -25,6 +25,8 @@
ref="mainInput" ref="mainInput"
class="main-input" class="main-input"
@input="(e) => changeValue(e)" @input="(e) => changeValue(e)"
@keydown.left="(e) => keydownEvent(e, 'left')"
@keydown.right="(e) => keydownEvent(e, 'right')"
@keydown.down="(e) => keydownEvent(e, 'down')" @keydown.down="(e) => keydownEvent(e, 'down')"
@keydown.tab="(e) => keydownEvent(e, 'down')" @keydown.tab="(e) => keydownEvent(e, 'down')"
@keydown.up="(e) => keydownEvent(e, 'up')" @keydown.up="(e) => keydownEvent(e, 'up')"
@ -41,10 +43,7 @@
> >
<template #suffix> <template #suffix>
<div class="suffix-tool"> <div class="suffix-tool">
<MoreOutlined <MoreOutlined @click="showSeparate()" class="icon-more" />
@click="showSeparate()"
class="icon-more"
/>
</div> </div>
</template> </template>
</a-input> </a-input>
@ -120,6 +119,12 @@ const keydownEvent = (e, key: string) => {
case 'down': case 'down':
emit('changeCurrent', 1); emit('changeCurrent', 1);
break; break;
case 'left':
emit('changeCurrent', -1);
break;
case 'right':
emit('changeCurrent', 1);
break;
case 'enter': case 'enter':
if (runPluginDisable) return; if (runPluginDisable) return;
emit('choosePlugin'); emit('choosePlugin');