MujicaUI

Data · #077

DescriptionList 浅色主题渲染快照
浅色 · 渲染快照
DescriptionList 深色主题渲染快照
深色 · 渲染快照

077 DescriptionList · 描述列表

用途

以名称与值的形式展示详情,支持多列、跨列与复制值。容器宽度不足时自动减少列数,最窄时为单列。

最小示例

view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	data.DescriptionList(c, []data.DescriptionItem{
		{Label: "Archivist", Value: "Sister Agnès", Copyable: true},
		{Label: "Shelf", Value: "North vault, row 7"},
		{Label: "Seal", Value: "Wine-red wax", Span: -1},
	}, data.DescriptionListOptions{})
}
ui.Render(view, 400, 300, 1)

参数

func DescriptionList(c *ui.Context, items []DescriptionItem, opts DescriptionListOptions) DescriptionListView。DescriptionItem 字段:Label、Value、Span(跨列数,负数跨整行)、Copyable。

字段类型默认值含义
Columnsint2最多列数。
MinColumnWidthfloat32220每列最小宽度(DIP);容器放不下时减少列数。

状态

默认、复制按钮悬停与聚焦、已复制(勾选图标 1.5 秒,并向读屏软件播报“已复制”)。

事件

DescriptionListView.Copied() 返回本帧被复制项的下标。

键盘操作

  • Tab 到达每个复制按钮(名称为“复制 + 标签”),Enter/Space 复制。

限制

  • 列数根据上一帧的宽度计算,宽度变化后在下一帧重新排列(组件会立即请求该帧)。
  • 复制使用 MyGo 剪贴板接口,只写入纯文本。