Files
aurora-admin/site/end-content/shortcutpanel.vue2.json

55 lines
2.6 KiB
JSON

{
"slug": "shortcutpanel",
"end": "vue2",
"curated": true,
"summary": "Vue 2 快捷键面板,内置一份快捷键数据,支持按名称或键位过滤。",
"usage": [
"Vue 2 端不传 items 时会用内置的八条快捷键(保存、搜索、新建等)。",
"搜索框用组件内部的 q 绑定(v-model 只作用在私有状态上),过滤同时匹配 name 与 key 两条字段。",
"过滤时把查询串与两个字段都转小写比较,所以大小写不敏感。",
"过滤结果为空时渲染空态提示,不需要业务侧处理。"
],
"bestPractices": [
"面板没有对外事件,点某一项不会回传选择,需要联动请改实现或在外层包监听。",
"items 每项形如 { name, key },两个字段都参与过滤,命名要保持一致否则搜不到。",
"组件不自带弹出与显隐逻辑,它只是一块面板,显示时机由业务侧控制。"
],
"apiCarrier": {
"kind": "props",
"note": "Vue 2 端 1 个 prop、0 事件、0 插槽;搜索词是组件私有 data,不走 v-model 对外暴露。",
"table": [
{
"name": "items",
"type": "Array,默认内置八条快捷键",
"desc": "数据项,元素形如 { name, key },两者都参与过滤"
}
]
},
"a11y": [
"快捷键是「名称 + 键位」两段文本,读屏器能读到,但缺少 dl/kbd 之类的语义结构。",
"搜索框是原生 input 带 placeholder,但它没有 label 元素,读屏器只能依赖占位文字。",
"键位里的「+」会被朗读为加号,对「Ctrl + S」这类组合键的可听性尚可,但不如 kbd 语义清晰。"
],
"resources": [
{
"file": "frameworks/ShortcutPanel.vue2.vue",
"kind": "Vue 2 组件实现(Options API 单文件组件)",
"desc": "ShortcutPanel.vue2.vue —— 本端模板、props 声明、事件派发与样式入口"
},
{
"file": "frameworks/ShortcutPanel.css",
"kind": "样式文件",
"desc": "ShortcutPanel.css —— 组件类名与状态类的样式定义,被 .vue2.vue 用 <style src> 引入"
}
],
"exampleIds": [
"shortcutpanel-ex-1"
],
"notes": [
"props 声明见 frameworks/ShortcutPanel.vue2.vue:16-30,内置默认数据在第 19-28 行。",
"过滤逻辑见 frameworks/ShortcutPanel.vue2.vue 的 filtered 计算属性,同时对 name 与 key 做 indexOf。",
"内部搜索绑定见 frameworks/ShortcutPanel.vue2.vue:3 的 v-model=\"q\"。",
"事实包 consumedApi 里出现的 modelValue 在 frameworks/ShortcutPanel.vue2.vue 全文不存在,本页按实现只写 items。"
]
}