跳到主要内容

Sample 合同 · AUP 跨设备 · ARC 2.0.0-beta.28

`afs-list` primitive

afs-list 列出 AFS 支撑的条目;document 可渲染空态或静态子节点,但 live 路径数据合同尚未闭环。

afs-list 是 AUP 跨设备 primitive,不是 Web Device 的 layout 组件,也不是 Web-only widget。它属于 AUP_PRIMITIVES 中的 18 个名称之一,并出现在每个 target 的 DeviceCaps.primitives map 中(取值为 native、webview、partial 或 unsupported)。

合同

字段值
Primitive 名称afs-list
层级AUP 跨设备 primitive(AUP_PRIMITIVES)
公共状态experimental
Document 能力native(renderer 存在;数据合同开放)
共享 degradation chain无
作者入口AUP + source/fixture(layout、itemStyle、from / src)· 带静态子节点的容器指令
Document renderer / 备注renderer/primitives/afs-list.ts(静态子节点;空+src → “Loading…”;空无 src → “No items”)
Showcase 证据list-basic.aup 及相关 list-* 页(from "data/items")

何时使用

在交互 target 上对 AFS 路径或打包 fixture 做声明式列表时。

何时不要使用

不要在公开 docs 绑定任意 AFS 路径。在没有只读 fixture origin 时不要声称已验证的 live list sample。

Sample 合同

字段值
目的document 上空态与静态子节点的诚实渲染
边界无写入动作;无任意 AFS 路径;无 frame bridge;不是本站路径解析的证明
作者入口容器指令 :::afs-list{…}
表面Web Device document
公共状态experimental
Fallback / 失败无子节点且无 src → “No items”;无子节点且有 src → “Loading…”(静态)
验证下方路由 · 仅空态;路径支撑的 live 数据仍开放

Document sample(空 — No items)

源码:

markdown
:::afs-list{id="docs-prim-afs-list-empty" layout="list" itemStyle="row"}
:::

渲染:

No items

Document sample(有 src 无子节点 — loading chrome)

展示静态 renderer 的 loading 空态。它不会在本站文档上抓取 AFS 路径。

源码:

markdown
:::afs-list{id="docs-prim-afs-list-loading" layout="list" itemStyle="row" src="data/items"}
:::

渲染:

No items

Document sample(静态子节点)

预填子节点渲染为列表项。这不是 AFS list() 解析的证据。

源码:

markdown
:::afs-list{id="docs-prim-afs-list-static" layout="list" itemStyle="row"}
Static row one — authored as document children, not fetched.

Static row two — still not an AFS path proof.
:::

渲染:

  • Static row one — authored as document children, not fetched.

  • Static row two — still not an AFS path proof.

Showcase list-basic 将 afs-list 绑定到打包的 data/items 且列表本身无写入动作——对未来带专用只读 fixture origin 的嵌入 sample 有用。见 Live 示例:范围与合同(「列表还缺什么」)。

失败与限制

情形预期结果
空列表,无 src“No items” 空态 chrome
空列表带 src“Loading…” 静态 chrome(此处无 fetch 证明)
公开 docs 上任意 AFS 路径超出合同
期望写入 / drop / mutate超出合同

验证证据

项值
基线2026-08-09 · arc --version → 2.0.0-beta.28
能力行docs/aup/capability-matrix.md(内部,不对外路由)· afs-list
实现renderer/primitives/afs-list.ts;caps device-caps.ts
公开路由/en/docs/aup/primitives/afs-list/ · /zh/docs/aup/primitives/afs-list/
本地运行arc service start --blocklet blocklets/arcblock --port 4900 · 确认 empty / loading / 静态子节点 chrome
接受标准空态匹配;页面声明数据合同开放;无任意路径声明

证据锚点

项值
注册表packages/aup/src/aup-types.ts · AUP_PRIMITIVES
Document capsproviders/runtime/web-device/src/device-caps.ts · DEVICE_CAPS_DOCUMENT
Degradationpackages/aup/src/degradation.ts · DEGRADATION_CHAINS
内部矩阵docs/aup/capability-matrix.md(内部,不对外路由)
Taxonomy hubPrimitive 类型分类与证据
Sample 合同规则Live 示例:范围与合同

相关页面