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 {
-
+