# 页面数据源
这里列举了数据源查询的相关用法
# 数据源加载条件
可以在加载条件中设置数据源的加载条件,使用表达式例如: 来自url的参数里面带了id,则加载数据源,否则不加载。
在表达式窗口填入:
request.params.id

# 返回单条/多条数据
可以将是否多条数据设置为否,这样数据源只会返回一条数据,适用于查询单条记录的场景(JSON对象)。
{"id":1,"name":"张三"}
将开关打开,返回多条数据,适用于查询多条记录的场景(JSON数组)。
[
{"id":1,"name":"张三"},
{"id":2,"name":"李四"}
]
# 是否自动刷新
可以在数据源的属性面板中,设置是否自动刷新,设置为是,则数据源会自动刷新。
数据源中绑定了变量,例如上面的 加载条件中变量 ,或者查询参数中绑定了变量,基于Vue的双向数据绑定原理,当变量变化时,数据源会自动刷新。
如果设置为否,则数据源不会自动刷新,需要手动调用数据源刷新的交互动作来刷新数据源。
# 扩展子查询(expand)
我们在查询请假数据的时候,可以通过 expand 参数来查询用户的信息,减少多次发送请求。
基于实体元数据生成的【查询接口】都有一个 expand 参数,expand指向实体的关系。
例如:有个实体 请假实体 其中的 createdBy 字段建立了与 用户实体 的 id 字段 关联关系(多对1)。
- 创建实体关系,得到关系名
secUser,例如:

- 添加expand参数,值配置成
secUser(id,name),表示查询请假数据的同时,查询关联的用户实体的 id、name 字段,如不指定字段,将会查出所有字段。

查出来的数据格式如下:
{
"id": "******",
"title": "1",
"reason": "2",
"endDate": "2025-09-19T00:00:00",
"startDate": "2025-09-24T00:00:00",
"createdBy": "22aaeb6e-a35e-4982-8f24-d4b786f18c50",
"secUser": {
"id": "22aaeb6e-a35e-4982-8f24-d4b786f18c50",
"name": "张无忌"
}
}
# 后置处理函数
后置处理函数,可以处理数据源返回的数据。可以在这里预先处理好数据再返回给页面。
例如接口返回的数据是:
[
{"firstName":"张","lastName":"三"},
{"firstName":"李","lastName":"四"}
]
通过后置处理函数,我们可以追加数据,例如 status: true
在页面函数中增加处理函数:
/**
* 数据处理方法
* @param {object} event 数据源对象
*/
export function changeData(event) {
// 调用renderContext获取到当前运行上下文
console.log(event)
// 遍历数据添加 status 字段
let data = event.data;
data.forEach(item => {
item.status = true
})
return event
}
此时数据源返回的数据为:
[
{"firstName":"张","lastName":"三","status":true},
{"firstName":"李","lastName":"四","status":true}
]
# 扩展数据源
参考:扩展数据源