diff --git a/packages/gui/src/view/mixins/plugin.js b/packages/gui/src/view/mixins/plugin.js index 7142dd0..81797e2 100644 --- a/packages/gui/src/view/mixins/plugin.js +++ b/packages/gui/src/view/mixins/plugin.js @@ -142,6 +142,19 @@ export default { const dir = await this.$api.info.getLogDir() this.$api.ipc.openPath(dir) }, + async focusFirst (ref) { + if (ref && ref.length != null) { + setTimeout(() => { + if (ref.length > 0) { + try { + ref[0].$el.querySelector('.ant-input').focus() + } catch (e) { + console.error('获取输入框焦点失败:', e) + } + } + }, 100) + } + }, handleHostname (hostname) { if (this.isNotHostname(hostname)) { return '' diff --git a/packages/gui/src/view/pages/plugin/git.vue b/packages/gui/src/view/pages/plugin/git.vue index 9f65ba3..03b2518 100644 --- a/packages/gui/src/view/pages/plugin/git.vue +++ b/packages/gui/src/view/pages/plugin/git.vue @@ -50,6 +50,7 @@ export default { }, addNoProxyUrl () { this.noProxyUrls.unshift({ key: '' }) + this.focusFirst(this.$refs.noProxyUrls) }, delNoProxyUrl (item, index) { this.noProxyUrls.splice(index, 1) @@ -108,7 +109,7 @@ export default { - + diff --git a/packages/gui/src/view/pages/plugin/overwall.vue b/packages/gui/src/view/pages/plugin/overwall.vue index d9a1387..c69db7e 100644 --- a/packages/gui/src/view/pages/plugin/overwall.vue +++ b/packages/gui/src/view/pages/plugin/overwall.vue @@ -60,6 +60,7 @@ export default { }, addTarget () { this.targets.unshift({ key: '', value: 'true' }) + this.focusFirst(this.$refs.targets) }, deleteTarget (item, index) { this.targets.splice(index, 1) @@ -88,14 +89,17 @@ export default { }) } if (this.servers.length === 0) { - this.addServer() + this.addServer(false) } }, deleteServer (item, index) { this.servers.splice(index, 1) }, - addServer () { + addServer (needFocus = true) { this.servers.unshift({ key: '', value: { type: 'path' } }) + if (needFocus) { + this.focusFirst(this.$refs.servers) + } }, submitServer () { const map = {} @@ -169,7 +173,7 @@ export default { - + @@ -196,7 +200,7 @@ export default { - + diff --git a/packages/gui/src/view/pages/proxy.vue b/packages/gui/src/view/pages/proxy.vue index 668fcbc..2ddedb1 100644 --- a/packages/gui/src/view/pages/proxy.vue +++ b/packages/gui/src/view/pages/proxy.vue @@ -62,6 +62,7 @@ export default { }, addExcludeIp () { this.excludeIpList.unshift({ key: '', value: 'true' }) + this.focusFirst(this.$refs.excludeIpList) }, delExcludeIp (item, index) { this.excludeIpList.splice(index, 1) @@ -166,7 +167,7 @@ export default { - + diff --git a/packages/gui/src/view/pages/server.vue b/packages/gui/src/view/pages/server.vue index a3fb113..7b8a7e7 100644 --- a/packages/gui/src/view/pages/server.vue +++ b/packages/gui/src/view/pages/server.vue @@ -108,6 +108,7 @@ export default { }, addDnsMapping () { this.dnsMappings.unshift({ key: '', value: 'quad9' }) + this.focusFirst(this.$refs.dnsMappings) }, // whiteList @@ -123,6 +124,7 @@ export default { }, addWhiteList () { this.whiteList.unshift({ key: '', value: 'true' }) + this.focusFirst(this.$refs.whiteList) }, deleteWhiteList (item, index) { this.whiteList.splice(index, 1) @@ -144,6 +146,7 @@ export default { }, addSpeedHostname () { this.getSpeedTestConfig().hostnameList.unshift('') + this.focusFirst(this.$refs.hostnameList) }, delSpeedHostname (item, index) { this.getSpeedTestConfig().hostnameList.splice(index, 1) @@ -316,7 +319,7 @@ export default { - + @@ -374,7 +377,7 @@ export default { - + @@ -422,7 +425,7 @@ export default { - +