From 015513ec45219910c7842e5bc9809935df3297a4 Mon Sep 17 00:00:00 2001 From: fofolee Date: Tue, 19 Apr 2022 21:46:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89=20temporaryStore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin/preload.js | 13 ------------- src/components/CommandRunResult.vue | 14 ++++++++------ src/components/quickcommandUI/SelectList.vue | 7 +++++-- src/js/quickcommand.js | 7 +------ 4 files changed, 14 insertions(+), 27 deletions(-) diff --git a/plugin/preload.js b/plugin/preload.js index ec86cc1..cf9c5bc 100644 --- a/plugin/preload.js +++ b/plugin/preload.js @@ -188,19 +188,6 @@ if (process.platform == 'win32') quickcommand.runVbs = function(script) { }) } -window.temporaryStore = { - listeners: {} -} - -window.temporaryStoreSoldOut = () => { - _.forIn(temporaryStore.listeners, (listener, key) => { - document.removeEventListener(...listener) - }) - window.temporaryStore = { - listeners: {} - } -} - // python -c window.runPythonCommand = py => { try { diff --git a/src/components/CommandRunResult.vue b/src/components/CommandRunResult.vue index cdc6638..1a5f0c0 100644 --- a/src/components/CommandRunResult.vue +++ b/src/components/CommandRunResult.vue @@ -57,6 +57,7 @@ export default { runResult: "", runResultStatus: true, subInputValue: "", + listener: null, }; }, props: { @@ -159,12 +160,10 @@ export default { setTimeout(() => { if (this.subInputValue) querySubInput(); }, 100); - let handler = (event) => { + this.listener = (event) => { if (event.keyCode == 13) querySubInput(); }; - let listener = ["keydown", handler, true]; - document.addEventListener(...listener); - window.temporaryStore.listeners.subInputListener = listener; + document.addEventListener("keydown", this.listener, true); }, // payload 临时赋值 async getTempPayload(currentCommand) { @@ -209,13 +208,16 @@ export default { }, stopRun() { this.runResult = ""; - if (window.temporaryStore.listeners.subInputListener) { + if (!!this.listener) { this.subInputValue = ""; utools.removeSubInput(); - window.temporaryStoreSoldOut(); + document.removeEventListener("keydown", this.listener, true); } }, }, + unmounted() { + this.stopRun(); + }, }; diff --git a/src/components/quickcommandUI/SelectList.vue b/src/components/quickcommandUI/SelectList.vue index 92fb9fd..6b051e9 100644 --- a/src/components/quickcommandUI/SelectList.vue +++ b/src/components/quickcommandUI/SelectList.vue @@ -78,13 +78,16 @@ export default { }; }, mounted() { - window.temporaryStore.updateSelectList = (opt, id) => { + quickcommand.updateSelectList = (opt, id) => { if (typeof id === "undefined") this.items.push(opt); else this.items[id] = opt; }; this.options.enableSearch && this.setSubInput(); this.setUtoolsHeight(this.itemHeight * this.matchedItemsSize); }, + unmounted() { + this.clear(); + }, computed: { matchedItems() { let matchedItems = this.searchWords @@ -188,7 +191,7 @@ export default { clear() { utools.removeSubInput(); this.setUtoolsHeight(this.listMaxHeight); - window.temporaryStoreSoldOut(); + quickcommand.updateSelectList = () => {}; }, }, }; diff --git a/src/js/quickcommand.js b/src/js/quickcommand.js index c256479..0d835a7 100644 --- a/src/js/quickcommand.js +++ b/src/js/quickcommand.js @@ -112,11 +112,6 @@ const quickcommand = { console.log('取消') }) }), - - updateSelectList: (opt, id) => { - if (!window.temporaryStore.updateSelectList) throw "请先初始化SelectList" - window.temporaryStore.updateSelectList(opt, id) - } } -export default quickcommand +export default quickcommand \ No newline at end of file