iter(g09): 新增 descriptions 描述列表组件
This commit is contained in:
+51
-3
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"$schema": "ui-arch-registry-index/0.1",
|
||||
"generatedAt": "2026-10-26T02:20:07.266Z",
|
||||
"generatedAt": "2026-10-26T02:22:42.729Z",
|
||||
"repoRoot": ".",
|
||||
"packages": [
|
||||
{
|
||||
@@ -178,7 +178,8 @@
|
||||
"dataTable(props):数据表格,粘性表头 / 行选择(全选三态)/ 排序 / 筛选 / 分页 / 空状态;loading 为真时数据行换骨架行且筛选/翻页禁用,内核为 table-core",
|
||||
"image(props):图片,缩略图点击 / 回车开遮罩大图预览(Esc 或点击遮罩关闭),width 控制缩略宽",
|
||||
"timeline(props):时间线,items 按序渲染纵向事件流(标题 / 时间 / 正文 + 语义色节点),mode 控制轴线左右,pending 追加进行中节点",
|
||||
"segmented(props):分段控制器,胶囊分段 + 滑动滑块,value 信号双向绑定,←→ 环形导航,整组或单项可禁用"
|
||||
"segmented(props):分段控制器,胶囊分段 + 滑动滑块,value 信号双向绑定,←→ 环形导航,整组或单项可禁用",
|
||||
"descriptions(props):描述列表,items(label/value/span) 铺进 column 列网格,bordered 切表格形态,窄屏自动单列"
|
||||
],
|
||||
"keyTypes": [
|
||||
"ButtonProps",
|
||||
@@ -218,7 +219,9 @@
|
||||
"AvatarProps",
|
||||
"TimelineItem",
|
||||
"TimelineProps",
|
||||
"SegmentedProps"
|
||||
"SegmentedProps",
|
||||
"DescriptionItem",
|
||||
"DescriptionsProps"
|
||||
]
|
||||
},
|
||||
"usage": "const checked = signal(false); checkbox({ label: '同意', checked }); const open = signal(false); modal({ title: '确认', open }, '内容')",
|
||||
@@ -1663,6 +1666,51 @@
|
||||
"滑块几何由组件测量按钮位置得到,不要在外部改按钮宽度 / 内边距,否则需自行重渲染",
|
||||
"需要带图标或更复杂布局的分段,改用 radioGroup + 自定义样式"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "descriptions",
|
||||
"title": "描述列表 Descriptions",
|
||||
"demo": "sec-descriptions",
|
||||
"props": [
|
||||
{
|
||||
"n": "items",
|
||||
"t": "DescriptionItem[]",
|
||||
"r": 1,
|
||||
"d": "描述项列表:每项含 label(字段名)、value(字符串 / DOM / 响应式函数)、span(跨列数)"
|
||||
},
|
||||
{
|
||||
"n": "column",
|
||||
"t": "1 | 2 | 3 | 4",
|
||||
"d": "桌面列数;缺省 3,窄屏(≤640px)由样式表降为单列",
|
||||
"df": "3"
|
||||
},
|
||||
{
|
||||
"n": "bordered",
|
||||
"t": "boolean",
|
||||
"d": "表格形态(带分隔线与字段名底纹);缺省 false 纯网格",
|
||||
"df": "false"
|
||||
},
|
||||
{
|
||||
"n": "size",
|
||||
"t": "'sm' | 'md'",
|
||||
"d": "尺寸档位;缺省 md",
|
||||
"df": "md"
|
||||
},
|
||||
{
|
||||
"n": "title",
|
||||
"t": "string",
|
||||
"d": "分组标题;缺省不渲染标题行"
|
||||
}
|
||||
],
|
||||
"example": "descriptions({ title: '订单信息', column: 2, bordered: true, items: [{ label: '订单号', value: 'RB-2048' }, { label: '金额', value: '¥1,280.00' }, { label: '备注', value: '加急', span: 2 }] })",
|
||||
"steps": [
|
||||
"详情页 / 抽屉里展示只读字段用它,不要用 form(form 承载输入与校验)",
|
||||
"column 按信息密度定:字段多且短用 3-4 列,字段长(地址、备注)用 2 列并配 span 占整行",
|
||||
"value 支持任意 DOM:放 tag、badge、button 都可以;要给值做响应式更新就传函数 () => 内容",
|
||||
"bordered: true 是表格形态(适合打印与密集信息),纯网格形态更轻,适合卡片内嵌",
|
||||
"窄屏自动降为单列,无需在调用方写媒体查询",
|
||||
"纯展示组件,无状态无回调:值变了由调用方重新渲染或传函数式 value"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user