Skip to Content
帮助文档数据处理操作指南获取数据源与数据绑定

获取数据源与数据绑定

数据源用于从数据库或第三方 API 获取数据,再将结果绑定到页面、组件和前端行为。

本指南介绍数据源的查询配置,并通过博客案例演示数据的创建、读取和修改。

配置和绑定数据源

建立并配置数据源

可以在页面或列表、选择视图、下拉选择器等组件中配置数据源。

配置位置

  • 列表型组件:在组件右侧的数据面板中选择数据表或 API。
  • 页面:选中页面后,在右侧的数据面板中添加页面数据源。页面数据源常用于详情数据或页面内共享的数据。

查询设置

  • 过滤(Filter):使用 ANDOR 组合条件,筛选需要的记录。
  • 排序(Sort):设置结果顺序。字段开启向量存储后,也可以按向量距离排序。配置去重时,排序字段的声明顺序必须与去重字段一致。
  • 去重(Distinct):按指定字段去除重复结果。
  • 数量限制(Limit):限制返回记录数。1 返回单个对象,大于 1 返回对象列表。
⚠️

过滤条件中的空值特殊处理原则:
当过滤条件绑定的值为 null 时,该条件可能不会按预期缩小查询范围。不要依赖空值自动过滤数据。

如果希望输入为空时不返回数据,可以使用条件数据:当输入为 null 时,将过滤值替换为不可能存在的值。例如,对于正整数 id,可以将空值替换为 -1

绑定数据

数据源创建后,可以在页面、组件和前端行为中引用其结果。

  • 页面数据源:绑定路径为页面内数据 → 数据源。组件能否访问数据源取决于其所在的数据上下文。
  • 列表数据源:列表项中的组件可以通过组件内数据 → 列表访问当前项。
    1. 列表内部组件可以读取当前行索引(index)和该项完整数据对象(item)。
    2. 可以将文本直接绑定到 item.title,或图片组件的图片源绑定至 item.cover_image 字段上。

示例:博客的创建、读取和修改

以下示例使用文章表完成创建、列表读取、详情读取和修改。

数据模型设计

数据模型配置中创建 post 表,包含 title(文本)、content(富文本)、published_status(布尔)、show_at(日期时间)、like_count(整数)和关联账户表的 author_account 字段。

创建数据(发表文章)

将用户输入的内容写入数据库:

  1. 页面排版:创建一个“写博客”页面,拖入输入框组件作为标题(input_title),拖入富文本编辑器(rich_content)作为正文,并添加“发布”按钮。
  2. 行为配置:选中发布按钮,在行为面板添加 “数据库 > 添加”,目标表选择 post
  3. 数据映射:将表中的 title 映射绑定为前台 input_title 的输入值;将 content 映射绑定为 rich_content 的内容;将 published_status 直接赋值为常量 true;将作者字段 author_account 绑定为系统的当前登录用户 ID

添加博客行为配置

读取列表数据(博客大厅展示)

  1. 列表绑定:在“博客大厅页面”添加列表组件。将其数据源配置选择为 post 数据表。
  2. 查询控制
    • 过滤条件:设置 published_status = true,只获取已发表的文章,剔除未发表的草稿。
    • 排序控制:设置按 show_at 执行“降序(Descending)”排列,确保最新发表的文章置顶展示。
  3. 前端渲染:双击列表项,将内部的文本标签绑定为 item.title,将封面图绑定至 item.cover_image

列表数据源配置

读取单条详情数据(文章阅读详情)

  1. 参数传递:在“文章详情页面”的“数据”中声明路径参数 post_id。页面参数的配置方法见使用页面变量和页面参数
  2. 跳转绑定:回到博客大厅,选中列表项,为其绑定 “页面跳转” 行为,跳转目标为“文章详情页”。并在跳转传参选项中,将当前项的 ID(item.id)赋值传递给路径参数 post_id
  3. 详情页面数据配置:进入文章详情页,添加 post 页面数据源,设置过滤条件 id 等于 路径参数.post_id,并将数量限制设置为 1
  4. 绑定展示:将标题和富文本组件分别绑定到该页面数据源的 titlecontent

详情页数据源配置

修改现有记录(下架文章)

  1. 在文章详情页添加“下架”按钮,并配置修改数据的行为,目标表为 post
  2. 添加过滤条件:id 等于 页面数据源.id。务必核对过滤条件;范围过宽可能修改多条记录。
  3. published_status 设置为 false。修改完成后,可在“成功时”返回文章列表或刷新数据源。
Last updated on