跳转到主要内容

Data 数据使用

Data 声明一个数据源。它不渲染 UI,只负责拉取/读取数据,供绑定和脚本使用。

基本写法

四种类型

Json

响应体按 JSON 解析,得到对象/数组:
JSON 解析失败会进入错误状态,保留旧缓存(如果有)。

Text

响应体原样返回字符串:

Xml

解析为可绑定的树:

Binary

得到:
Url 是 Blob URL,可直接给 Image / Media:

在线与本地

在线:
  • 只允许 https:443;
  • 统一经启动器后端代理,禁止重定向,拒绝回环/内网/保留地址;
  • 文本/JSON/XML 上限 1MB,二进制上限 8MB;
  • 域名需要在编辑器里勾选确认。
本地:
路径规则:
  • 绝对路径原样使用;
  • 相对路径:本地导入的组件以 .qwidget 所在目录为基准;URL 导入的组件以启动器数据目录为基准;
  • 编辑器信息面板显示解析后的绝对路径。

缓存与刷新

  • 非二进制结果按 Refresh 缓存到 localStorage;重新挂载时未过期直接使用。
  • 二进制只缓存在内存,避免 base64 撑爆本地存储。
  • Refresh="0" 表示每次挂载都重新读取/请求。
  • 手动刷新:按钮动作 Refresh,会重新拉取本组件所有过期数据源。

绑定多个数据源

每个 Data 有独立 Name:
  • 命名源同时可以直接用 {News.*} / {Weather.*} 访问。
  • 未命名的数据源(默认名 Data)字段会合并到 {Data.*}。
  • 最多 8 个数据源。

状态

State.Loading 为任意数据源正在加载;State.Error 为至少一个数据源失败。

限制

  • 数据源 ≤8;单个组件数据缓存总量 2MB。
  • 在线请求超时 15 秒(前端请求 20 秒)。
  • 二进制对象 URL 在组件卸载时释放。