首页 > 解决方案 > 带有预览的自动完成搜索:我应该预先加载所有产品并且只在前端搜索吗?

问题描述

我正在使用 Laravel 和 Vue 构建一个搜索机制,其中显示一个面板,在您键入时显示每个产品的缩略图。因此,一旦您输入超过 3 个字母,对于每个字母,它都会异步更新该列表。

我的问题是:我应该预加载所有结果并只在前端处理这个列表吗?会更快吗?

最大的问题是,如果我将输入过程去抖动,例如,仅搜索每 0.5 秒,则 UX 会受到影响,因为最新列表似乎“慢”。因此,预先加载所有结果可能是一个好主意,但是,为此将数千条记录转储到 Vuex 是否有意义?

标签: laravelvue.jssearchdebounce

解决方案


我建议不要一次在 Vuex 中提取所有记录。您可以使用 debounce 来立即执行它,并在触发搜索之前进一步按下等待 0.5 秒。也可以将查询发送到您的后端,并让它命中弹性搜索索引。


推荐阅读