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

59 lines
2.5 KiB
JSON

{
"slug": "quicknav",
"end": "vue2",
"curated": true,
"summary": "Vue 2 快捷入口宫格,items 提供图标与名称,点击整项回传该项数据。",
"usage": [
"Vue 2 端 items 默认给了八个入口(数据看板、用户管理、订单管理等),直接可用也可覆盖。",
"点击派发 select 事件并回传整个 item 对象,不含索引,需要索引时在数据里自带字段。",
"每项结构固定为图标加名称上下两行,图标是文字或 emoji,不需要引入图标组件。",
"组件没有选中态与禁用态,所有项外观一致、全部可点。"
],
"bestPractices": [
"item 对象里可以放路由等自定义字段,点击回调里拿完整对象即可直接跳转。",
"宫格排列与换行由 CSS 控制,组件只负责渲染扁平列表,改列数去改样式而不是加 prop。",
"这是纯跳转入口,不承载状态,需要徽章或禁用请换用侧边菜单的 items 结构。"
],
"apiCarrier": {
"kind": "props",
"note": "Vue 2 端只有 1 个 prop 与 1 个 select 事件,条目内容全部来自 items 数据。",
"table": [
{
"name": "items",
"type": "Array,默认八个内置入口",
"desc": "入口数据,元素形如 { icon, label }"
},
{
"name": "select",
"type": "事件,参数为被点击的 item 对象",
"desc": "点击任一项时派发"
}
]
},
"a11y": [
"每项是可点击的 div,没有 role=\"button\"、tabindex 与键盘事件,键盘用户无法进入。",
"图标 emoji 与名称文本都会被朗读,图标若与名称重复会造成重复播报。",
"没有列表语义(ul/li 或 role=\"list\"),读屏器不会告知共有多少项。"
],
"resources": [
{
"file": "frameworks/QuickNav.vue2.vue",
"kind": "Vue 2 组件实现(Options API 单文件组件)",
"desc": "QuickNav.vue2.vue —— 本端模板、props 声明、事件派发与样式入口"
},
{
"file": "frameworks/QuickNav.css",
"kind": "样式文件",
"desc": "QuickNav.css —— 组件类名与状态类的样式定义,被 .vue2.vue 用 <style src> 引入"
}
],
"exampleIds": [
"quicknav-ex-1"
],
"notes": [
"props 声明见 frameworks/QuickNav.vue2.vue:18-32,内置默认数据在第 21-30 行。",
"select 事件在 frameworks/QuickNav.vue2.vue:7 派发,回传整个 it 对象。",
"模板结构见 frameworks/QuickNav.vue2.vue:3-11,图标与名称分两行渲染。"
]
}