fix(KeyBoard): new hotkey not work when saved by nav

This commit is contained in:
AkiChase 2024-05-02 16:58:38 +08:00
parent eee073ecd2
commit 1cf1891598

View File

@ -122,8 +122,8 @@ function isKeyUnique(curKey: string): boolean {
function setCurButtonKey(curKey: string) { function setCurButtonKey(curKey: string) {
if ( if (
keyboardStore.activeButtonIndex === -1 || keyboardStore.activeButtonIndex === -1 ||
keyboardStore.activeButtonIndex >= store.editKeyMappingList.length|| keyboardStore.activeButtonIndex >= store.editKeyMappingList.length ||
keyboardStore.showButtonSettingFlag|| keyboardStore.showButtonSettingFlag ||
keyboardStore.showButtonAddFlag keyboardStore.showButtonAddFlag
) )
return; return;
@ -233,6 +233,7 @@ onActivated(() => {
}); });
onBeforeRouteLeave(() => { onBeforeRouteLeave(() => {
return new Promise((resolve, _) => {
document.removeEventListener("keyup", handleKeyUp); document.removeEventListener("keyup", handleKeyUp);
document.removeEventListener("wheel", handleMouseWheel); document.removeEventListener("wheel", handleMouseWheel);
if (keyboardStore.edited) { if (keyboardStore.edited) {
@ -244,15 +245,20 @@ onBeforeRouteLeave(() => {
onPositiveClick: () => { onPositiveClick: () => {
if (store.applyEditKeyMappingList()) { if (store.applyEditKeyMappingList()) {
keyboardStore.edited = false; keyboardStore.edited = false;
resolve(true);
} else { } else {
message.error("存在重复按键,无法保存"); message.error("存在重复按键,无法保存");
resolve(false);
} }
}, },
onNegativeClick: () => { onNegativeClick: () => {
resetKeyMappingConfig(); resetKeyMappingConfig();
resolve(true);
}, },
}); });
} }
resolve(true);
});
}); });
</script> </script>