AI夹克

动手:搜索框自动补全

你要做什么

一个搜索框,输入时实时弹出下拉建议列表,点击或回车选中。

⏱️ 20 分钟 | 🛠️ Vue 3

跟着做

帮我做一个搜索自动补全组件(Vue 3):
1. 一个搜索输入框,placeholder "搜索教程..."
2. 输入时,下方弹出下拉建议列表
3. 建议列表从预设的数据数组中筛选(匹配标题)
4. 支持键盘上下键选择,回车确认
5. 选中后输入框填充选中的值
6. 点击外部关闭下拉列表
7. 没有任何匹配时显示"未找到相关结果"

理解核心逻辑

AI 生成的核心代码会包含:

const filtered = computed(() => 
  items.filter(item => 
    item.title.toLowerCase().includes(query.value.toLowerCase())
  )
);

这就是实时筛选的核心——每次输入变化,重新过滤匹配项。

🎯 进阶挑战

  • 加上防抖(输入停止 300ms 后才搜索)
  • 改成从 API 获取搜索建议
  • 每一行显示图标 + 标题 + 分类标签

✅ 你做到了

  • 掌握了搜索自动补全的交互模式
  • 理解了 computed 的实时计算
  • 学会了键盘事件处理