项目正在快速迭代中,API 与视觉细节可能随版本调整,请勿用于生产环境。
仅桌面端保证样式

CommandPalette 命令面板 ​

⌘K 风格的命令面板:关键词过滤(名称 + 关键词 + 分组)、分组渲染、↑↓/Enter/Esc 全键盘操作。适合中后台的全局快捷入口与动作搜索。

基础用法 ​

面板由 v-model 控制开关;动作执行后自动关闭,action 返回 false 可保持面板打开(如需二次确认的场景):

快捷键唤起 ​

页面级接入通常配合全局快捷键,注意在卸载时移除监听:

vue
<script setup>
import { ref, onMounted, onBeforeUnmount } from 'vue'

const open = ref(false)
const onKeydown = (e) => {
  if ((e.metaKey || e.ctrlKey) && e.key.toLowerCase() === 'k') {
    e.preventDefault()
    open.value = !open.value
  }
}
onMounted(() => window.addEventListener('keydown', onKeydown))
onBeforeUnmount(() => window.removeEventListener('keydown', onKeydown))
</script>

<template>
  <eb-command-palette v-model="open" :commands="commands" />
</template>

CommandPalette Props

参数说明类型默认值
modelValue面板开关(v-model)booleanfalse
commands命令清单,项结构见下表array[]
placeholder搜索框占位文案string输入命令或搜索…

Command 项结构

参数说明类型默认值
id命令唯一标识string | number—
label命令名称(参与过滤)string—
icon图标名string—
group分组名(相邻同组合并展示,缺省为「命令」)string—
hotkey右侧快捷键标记(仅展示)string—
hint次级说明文案string—
keywords补充搜索关键词string[][]
action执行函数;返回 false 时执行后不关闭面板() => any—

CommandPalette Exposes

参数说明类型默认值
open打开面板() => void—
close关闭面板() => void—