mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-05 21:54:50 +00:00
Improve template search input performance issue (#8343)
## Summary Improve Template search input performance issue #8134 This was caused by the search logic running too frequently (throttled at 50ms), causing the main thread to block on every few keystrokes. ## Changes Use debouncing that wait until you stop typing for a specific time (300ms) before running. It makes the searching function more smoothly. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-8343-Improve-template-search-input-performance-issue-2f56d73d36508144bdf9fa5e0cd76818) by [Unito](https://www.unito.io) --------- Co-authored-by: Alexander Brown <drjkl@comfy.org>
This commit is contained in:
@@ -772,7 +772,7 @@ useIntersectionObserver(loadTrigger, () => {
|
|||||||
// Reset pagination when filters change
|
// Reset pagination when filters change
|
||||||
watch(
|
watch(
|
||||||
[
|
[
|
||||||
searchQuery,
|
filteredTemplates,
|
||||||
selectedNavItem,
|
selectedNavItem,
|
||||||
sortBy,
|
sortBy,
|
||||||
selectedModels,
|
selectedModels,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { refThrottled, watchDebounced } from '@vueuse/core'
|
import { refDebounced, watchDebounced } from '@vueuse/core'
|
||||||
import Fuse from 'fuse.js'
|
import Fuse from 'fuse.js'
|
||||||
import type { IFuseOptions } from 'fuse.js'
|
import type { IFuseOptions } from 'fuse.js'
|
||||||
import { computed, ref, watch } from 'vue'
|
import { computed, ref, watch } from 'vue'
|
||||||
@@ -119,7 +119,7 @@ export function useTemplateFiltering(
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
const debouncedSearchQuery = refThrottled(searchQuery, 50)
|
const debouncedSearchQuery = refDebounced(searchQuery, 150)
|
||||||
|
|
||||||
const filteredBySearch = computed(() => {
|
const filteredBySearch = computed(() => {
|
||||||
if (!debouncedSearchQuery.value.trim()) {
|
if (!debouncedSearchQuery.value.trim()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user