perf: 搜索文件防抖处理

This commit is contained in:
jmal 2024-07-12 17:25:59 +08:00
parent b117cad0f3
commit e1499fab03

View File

@ -162,13 +162,13 @@
placeholder="搜索" placeholder="搜索"
v-model="searchFileName" v-model="searchFileName"
:clearable="true" :clearable="true"
@keyup.enter.native="searchFile(searchFileName)" @keyup.enter.native="searchFileEnter(searchFileName)"
@focus="setInputFocus" @focus="setInputFocus"
@input="searchFile(searchFileName)" @input="searchFileEnter(searchFileName)"
@blur="setInputBlur()" @blur="setInputBlur()"
@clear="searchFile(searchFileName)" @clear="searchFileEnter(searchFileName)"
> >
<el-button slot="prepend" @click="searchFile(searchFileName)"> <el-button slot="prepend" @click="searchFileEnter(searchFileName)">
<svg-icon icon-class="search" style="font-size: 22px" /> <svg-icon icon-class="search" style="font-size: 22px" />
</el-button> </el-button>
</el-input> </el-input>
@ -809,6 +809,8 @@ import FileTree from '@/components/FileTree'
import '@/utils/directives.js' import '@/utils/directives.js'
import _ from "lodash";
import fileConfig from '@/utils/file-config' import fileConfig from '@/utils/file-config'
import EditElement from '@/views/markdown/EditElement' import EditElement from '@/views/markdown/EditElement'
import IframePreview from '@/components/preview/IframePreview.vue' import IframePreview from '@/components/preview/IframePreview.vue'
@ -1088,6 +1090,7 @@ export default {
permanentDeleteDisable: false, // 是否禁用永久删除选项 permanentDeleteDisable: false, // 是否禁用永久删除选项
selectDeleteFile: [], // 选中的删除文件 selectDeleteFile: [], // 选中的删除文件
deleteLoading: false, // 删除loading deleteLoading: false, // 删除loading
debounceSearch: null,// 搜索防抖
} }
}, },
computed: { computed: {
@ -1155,7 +1158,11 @@ export default {
: '' : ''
}, },
}, },
created() {}, created() {
this.debounceSearch = _.debounce((key, onLoad) => {
this.searchFile(key, onLoad)
}, 200)
},
watch: { watch: {
$route(to) { $route(to) {
if (to.query.tagId && this.queryCondition.tagId !== this.$route.query.tagId) { if (to.query.tagId && this.queryCondition.tagId !== this.$route.query.tagId) {
@ -2696,6 +2703,9 @@ export default {
} }
} }
}, },
searchFileEnter(key, onLoad) {
this.debounceSearch(key, onLoad)
},
searchFile(key, onLoad) { searchFile(key, onLoad) {
if (key) { if (key) {
this.beforeLoadData(onLoad) this.beforeLoadData(onLoad)