在阿里云宜搭(Yida)中,更新关联表单的数据是一个常见的需求。你可以通过宜搭的 API 或脚本来实现关联表单的更新。以下是详细的步骤和方法:
1. 通过 API 更新关联表单
宜搭提供了 RESTful API 来更新表单数据。你可以通过 API 更新关联表单中的字段值。
步骤:
获取 Access Token:
调用宜搭的认证接口获取 Access Token。
参考文档:宜搭 API 认证
调用更新接口:
使用宜搭的
UpdateFormInstance
接口更新表单实例数据。接口示例:
PUT /v1/form/instance/{formInstanceId}
参考文档:宜搭更新表单实例 API
传递更新数据:
在请求体中传递需要更新的字段值。
示例请求体:
{ "formData": { "fieldName1": "newValue1", "fieldName2": "newValue2" } }
示例代码(伪代码):
// 获取 Access Token const accessToken = await getAccessToken(); // 表单实例 ID const formInstanceId = 'your-form-instance-id'; // 更新数据 const updateData = { formData: { fieldName1: 'newValue1', fieldName2: 'newValue2' } }; // 调用更新接口 const response = await fetch(`/v1/form/instance/${formInstanceId}`, { method: 'PUT', headers: { 'Authorization': `Bearer ${accessToken}`, 'Content-Type': 'application/json' }, body: JSON.stringify(updateData) }); const result = await response.json(); console.log(result);
2. 通过脚本更新关联表单
宜搭支持通过脚本更新表单数据,适用于自定义表单的场景。
步骤:
编写脚本:
在宜搭的自定义表单中编写 JavaScript 脚本,调用宜搭的 API 更新表单数据。
示例脚本:
// 获取表单实例 ID const formInstanceId = 'your-form-instance-id'; // 更新数据 const updateData = { formData: { fieldName1: 'newValue1', fieldName2: 'newValue2' } }; // 调用宜搭 API 更新表单数据 const response = await fetch(`/v1/form/instance/${formInstanceId}`, { method: 'PUT', headers: { 'Authorization': 'Bearer your-access-token', 'Content-Type': 'application/json' }, body: JSON.stringify(updateData) }); const result = await response.json(); console.log(result);
在自定义表单中使用脚本:
将脚本绑定到表单的某个事件(如表单提交后),实现自动更新关联表单。
3. 注意事项
权限控制:确保调用 API 的用户有权限更新目标表单数据。
数据格式:确保传递的更新数据格式正确,字段名称与表单中的字段名称一致。
关联关系:确保主表单和子表单之间已经建立了正确的关联关系(如通过字段关联)。
4. 示例场景
假设你有两个表单:
主表单:ID 为
MainForm
,包含字段Name
和Age
。子表单:ID 为
SubForm
,包含字段Name
和Score
。
你希望在主表单中更新子表单中的 Score
字段。
实现步骤:
获取子表单实例 ID:
通过
LOOKUP
或FILTER
函数获取子表单的实例 ID。调用更新接口:
使用
UpdateFormInstance
接口更新子表单的Score
字段。
示例代码(伪代码):
// 获取子表单实例 ID const subFormInstanceId = 'your-sub-form-instance-id'; // 更新数据 const updateData = { formData: { Score: 'newScoreValue' } }; // 调用更新接口 const response = await fetch(`/v1/form/instance/${subFormInstanceId}`, { method: 'PUT', headers: { 'Authorization': 'Bearer your-access-token', 'Content-Type': 'application/json' }, body: JSON.stringify(updateData) }); const result = await response.json(); console.log(result);
总结
通过宜搭的 API 或脚本,可以实现关联表单的更新。关键步骤包括获取表单实例 ID、调用更新接口,并传递需要更新的字段值。根据具体的业务场景,选择合适的方法即可实现关联表单的更新。