diff --git a/src/components/advancedSearch/TextMode.vue b/src/components/advancedSearch/TextMode.vue index a9d8261b..fe4d2896 100644 --- a/src/components/advancedSearch/TextMode.vue +++ b/src/components/advancedSearch/TextMode.vue @@ -66,6 +66,9 @@ export default { this.$emit('search') } }, + focus () { + this.codeMirror.focus() + }, changeMode () { const originalSql = this.codeMirror.getValue() const parser = new SqlParser(originalSql, this.columnList) diff --git a/src/views/entityExplorer/search/ExplorerSearch.vue b/src/views/entityExplorer/search/ExplorerSearch.vue index 06932a28..cee88b94 100644 --- a/src/views/entityExplorer/search/ExplorerSearch.vue +++ b/src/views/entityExplorer/search/ExplorerSearch.vue @@ -28,11 +28,13 @@
-
- {{h.date}} -
{{h.sql}}
+
+
+ {{h.date}} +
{{h.sql}}
+
-
+
{{$t('overall.clear')}}
暂无记录
@@ -196,7 +198,7 @@ export default { methods: { search (metaList, formatSql) { let sql = formatSql - if (metaList) { + if (metaList && this.$_.isArray(metaList)) { // 全文搜索处理 const hasFullText = metaList.some(meta => { return meta.column && meta.column.type === columnType.fullText @@ -207,7 +209,7 @@ export default { } } this.$emit('search', metaList, sql) - // 加入搜索记录 + // 加入搜索记录,将记录数量控制在30以内 if (sql) { const oldHistory = localStorage.getItem(storageKey.entitySearchHistory) let arr = [] @@ -216,6 +218,9 @@ export default { const oldArr = JSON.parse(oldHistory) oldArr.unshift(newItem) arr = [...oldArr] + if (arr.length > 30) { + arr = arr.slice(0, 30) + } } else { arr.push(newItem) } @@ -228,6 +233,11 @@ export default { selectHistory (sql) { this.$refs.search.setSql(sql) this.showHistory = false + this.$nextTick(() => { + if (this.$refs.search.$refs.textMode) { + this.$refs.search.$refs.textMode.focus() + } + }) }, clearHistory () { localStorage.setItem(storageKey.entitySearchHistory, '')