数据驱动 ​
数据源与控件分离:静态控件消费选项;异步控件通过统一数据运行时处理请求、状态与回显。 开始前阅读数据 provider,明确宿主需要注入的请求和字典能力。
选择数据来源 ​
| 来源 | 适用情况 | 入口 |
|---|---|---|
| 静态选项 | 已知选项,无需请求 | AsamSelect |
| API 函数 | 宿主已封装请求 | AsamRemoteSelect |
| URL 配置 | 由 provider 统一发起请求 | provider 指南 |
| 字典 | 复用宿主字典能力 | AsamDictSelect |
同一数据源入口使用一种来源。响应转换与字段映射用于归一化列表;业务接口、认证和 字典持久缓存由宿主负责。数据类型与函数签名从包导出,官网不复制一套字段表。
请求状态与上下文 ​
区分初始、加载、成功、空结果和失败。首次失败没有成功快照;后续刷新失败保留上次成功 结果,并标明已过期。重试和强制刷新由调用方显式触发,不隐式无限重试。
宿主传递取消信号,并在登录或租户切换时更新 data scope。scope 只是隔离标识,不应放入 token 或个人数据。默认不启用远程缓存;需要复用时按公开契约明确 TTL 与缓存键。 完整状态场景在 AsamRemoteSelect 中使用确定性 Mock 验证。
表格与表单 ​
AsamTable 展示调用方传入的数据;AsamDataTable 处理远程分页请求和选择状态。
示例与分页契约见 AsamDataTable。
AsamForm 的旧 fields 与新 schema 不能同时传入。schema 通过显式依赖描述联动,包含
依赖清值、隐藏暂停与失败后的过期快照。泛型字段、插槽、注册表及实际交互见
AsamForm。
依据与范围 ​
来源为 docs/ASAM_UI_DATA_DRIVEN_DESIGN.md 第 2–8、10 节,以及同源 provider 指南、
AsamDataTable 与 AsamForm Story。全部展示使用合成数据;本地演示不证明真实后端联调已完成。
当前能力、透传和类型提取限制以组件目录所链接的版本为准。