易企办开发者 / 自定义代码
自定义代码控件与动作
为页面绑定字段和表达式,通过宿主 SDK 查询数据,并对只读场景和保存行为做出明确处理。
区分控件与动作的生命周期
可视控件通过 render 返回界面,随当前字段或组件状态更新。一次性业务处理放在动作的 execute 中,并等待它完成后继续后续动作。
配置字段、参数与表达式
根据控件的输入声明字段依赖。将标题、查询目标和输出字段作为设计参数,并在运行时检查表达式计算出的值。保存目标需要保留字段或变量的标识。
| 参数用途 | 常用类型 | 运行时处理 |
|---|---|---|
静态标题和提示 | string | 使用中文名称和明确的默认值 |
动态值与字段配置 | variable | 按约定处理数字、布尔值、数组、对象或表达式包装值 |
分页和数量配置 | string 或 variable | 解析为整数,并核对有效范围 |
输出保存目标 | variable | 取得目标字段或变量标识,再调用对应的保存方法 |
处理只读与保存结果
readonly 为 true 时显示已有结果,并在修改、删除、重置等处理函数中核对只读状态。
需要写入时确认宿主提供的保存方法、输出字段及格式。选择器参数可能在运行时变为当前值,保存前需要单独解析可写目标。分别验证表单字段、页面变量和临时变量的回填与重新打开后的值。
用当前用户身份读取数据列表
通过宿主提供的 yeeSDKClient 查询列表。根据当前版本验证请求字段和响应结构,明确空记录与请求失败的区别。
const sdk = context.modules?.yeeSDKClient;
if (!sdk?.lists?.queryItems) {
throw new Error("当前页面不支持数据查询");
}
const result = await sdk.lists.queryItems({
listId,
dataListId: listId,
pageIndex: 1,
pageNo: 1,
pageSize: 20,
fields: ["Title"],
fieldIds: ["Title"],
});
// 按当前宿主返回的结构解析记录,并区分空结果与请求失败。验证组件使用位置
- 选择合适的表单、应用页面或仪表盘,并确认宿主支持所需接口。
- 用目标角色测试查询、回填、只读展示以及移动端交互。
- 查询列表时只读取必要字段,分页处理结果,并保持已选记录的稳定标识。
验收可复用控件
- 提示加载、无结果、无权限和请求失败的状态。
- 支持键盘操作,并在小屏幕上保持表格和按钮可用。
- 快速切换查询条件时,核对较早返回的请求不会覆盖当前结果。
- 在重复点击、重新打开和权限变化后核对保存结果。