Files
aurora-admin/site/end-content/pageheader.react.json
T

115 lines
5.5 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"slug": "pageheader",
"end": "react",
"curated": true,
"summary": "React 端的 PageHeader:title / description / secondaryText 三个 prop 填文本,返回按钮走 onClick,保存按钮无处理。",
"usage": [
"返回按钮文案来自 secondaryText 并加左箭头:`← {secondaryText}`,点击走 `onClick={() => onClick && onClick()}`,回调不带参数(frameworks/PageHeader.jsx:8)。",
"标题与副标题是两个不同标签:title 进 <strong className=\"kole-pageheader-title\">,description 进 .kole-pageheader-desc 的 div(frameworks/PageHeader.jsx:8)。",
"右侧「保存」按钮是纯装饰:没有 onClick 绑定,点了没有任何回调(frameworks/PageHeader.jsx:8)。",
"外层是 <header> 语义标签而非 div,结构里三段(返回按钮 / 标题区 / 保存按钮)由 flex 排布(frameworks/PageHeader.jsx:8)。",
"children 与 onChange / onClose / onSubmit / onLoadMore 都在解构里但未参与渲染(frameworks/PageHeader.jsx:4)。"
],
"bestPractices": [
"页面级操作只能接返回:onClick 是唯一出口,「保存」按钮的行为需要改实现或另加按钮(frameworks/PageHeader.jsx:8)。",
"onClick 无载荷,判断来源要靠外部闭包区分(frameworks/PageHeader.jsx:8)。",
"三个文案 prop 都有默认值(用户详情 / 查看并编辑用户资料 / 返回列表),不传会显示示例文案(frameworks/PageHeader.jsx:4,8)。",
"children 未渲染,想在标题区插自定义内容(如标签、状态)只能改实现(frameworks/PageHeader.jsx:4,8)。"
],
"a11y": [
"容器是 <header> 语义标签(frameworks/PageHeader.jsx:8),辅助技术可识别为页面横幅区域。",
"标题用 <strong> 而非 <h1> / <h2>,文档大纲里不会出现该页面标题(frameworks/PageHeader.jsx:8)。",
"返回按钮的可见文案是 `← 返回列表`,箭头也在可访问名里,读屏器会读出「左箭头」(frameworks/PageHeader.jsx:8)。",
"保存按钮可见文字是「保存」但无行为,键盘用户点击后没有任何反馈(frameworks/PageHeader.jsx:8)。"
],
"apiCarrier": {
"kind": "props",
"note": "React 端的 API 载体是 props 与单一回调:title / description / secondaryText 填三段文本,返回交互经 onClick 上报(无载荷);保存按钮未接回调,没有 v-model。",
"table": [
{
"name": "children",
"type": "属性",
"desc": "解构声明但 JSX 未渲染(frameworks/PageHeader.jsx:4)"
},
{
"name": "description",
"type": "属性",
"desc": "副标题文本,渲染进 .kole-pageheader-desc(frameworks/PageHeader.jsx:8)"
},
{
"name": "onChange",
"type": "属性",
"desc": "解构声明但未绑定(frameworks/PageHeader.jsx:4)"
},
{
"name": "onClick",
"type": "属性",
"desc": "唯一回调出口:返回按钮点击时调用,不带参数(frameworks/PageHeader.jsx:8)"
},
{
"name": "onClose",
"type": "属性",
"desc": "解构声明但未绑定(frameworks/PageHeader.jsx:4)"
},
{
"name": "onLoadMore",
"type": "属性",
"desc": "解构声明但未绑定(frameworks/PageHeader.jsx:4)"
},
{
"name": "onSubmit",
"type": "属性",
"desc": "解构声明但未绑定(frameworks/PageHeader.jsx:4)"
},
{
"name": "secondaryText",
"type": "属性",
"desc": "返回按钮文案,渲染为 `← {secondaryText}`(frameworks/PageHeader.jsx:8)"
},
{
"name": "onChange",
"type": "事件",
"desc": "React 事件以 onXxx prop 命名;本实现未绑定 onChange(frameworks/PageHeader.jsx:4)"
},
{
"name": "onClick",
"type": "事件",
"desc": "返回按钮上的点击,承载 onClick 回调(frameworks/PageHeader.jsx:8)"
},
{
"name": "onClose",
"type": "事件",
"desc": "React 事件以 onXxx prop 命名;本实现未绑定 onClose(frameworks/PageHeader.jsx:4)"
},
{
"name": "children",
"type": "插槽",
"desc": "React 无插槽语法,children 即默认子节点;本实现未渲染(frameworks/PageHeader.jsx:4,8)"
}
]
},
"resources": [
{
"file": "frameworks/PageHeader.jsx",
"kind": "React",
"desc": "该端实现(本页 API 与用法的唯一权威来源)。"
},
{
"file": "frameworks/PageHeader.css",
"kind": "样式",
"desc": "该组件的样式文件,类名口径以它为准。"
}
],
"exampleIds": [
"pageheader-ex-1",
"pageheader-ex-2"
],
"notes": [
"props 解构见 frameworks/PageHeader.jsx:4,共 9 个;渲染全在第 8 行(header 内三段结构)。",
"onClick 的绑定点与无参数调用见 frameworks/PageHeader.jsx:8;右侧保存按钮同在第 8 行且无 onClick 绑定。",
"实现缺口:保存按钮未接回调、children 未渲染、标题非 heading 元素(frameworks/PageHeader.jsx:8);按实现写,未补。",
"a11y 依据:<header> 语义标签与 <strong> 标题见 frameworks/PageHeader.jsx:8;全文无 aria-* 属性。",
"apiCarrier.table 保留了自动生成时的「属性 + 事件 + 插槽」三套同名行(onChange / onClick / onClose / children 各两次),本次只改 desc 文案,未调整行结构。"
]
}