# CAP4表单前端接口 - 移动端


CAP4移动端表单前端接口文档

CAP4移动端表单前端接口文档适用于M3(app)、微协同等

# 1. 表单事件

# 1.1. cap_form_afterFormRender

在表单首次渲染完成时触发(只触发一次)

用法示例:

document.addEventListener('cap_form_afterFormRender', function(evt) {
  console.log(evt)
});

事件参数:

表单首次渲染完成

# 1.2. cap_form_afterFormUpdate

在表单任何内容(包括主表字段/明细表字段/明细行)变化导致表单渲染更新时均会触发

用法示例:

document.addEventListener('cap_form_afterFormUpdate', function(evt) {
  console.log(evt)
});

事件参数:

# 2. 表单API

# 2.1. XForm.getData()

获取整个表单数据

接口参数:

用法示例:

XForm.getData()

返回结果:

{
  metadata: Object, // metadata中含有表单id,权限id等信息
  formmains: Object, // 主表数据
  formsons: Object // 明细表数据
}

获取整个表单数据

# 2.2. XForm.getField(fieldName[,tableName, recordId])

获取某个字段(控件)信息

接口参数:

参数名 参数类型 是否必须 说明
fieldName String 必须 字段名
tableName String 可选 明细表名
recordId String 可选 明细行记录id

用法示例:

XForm.getField(fieldName) // 获取主表字段
XForm.getField(fieldName,tableName, recordId) // 获取明细行字段

返回结果:

{
  metadata: Object,   // metadata中含有表单id,权限id等信息
  formmains: Object,  // 主表数据
  formsons: Object    // 明细表数据
}

获取某个字段(控件)信息

# 2.3. XForm.setField(fieldName, data[,tableName, recordId])

更新某个字段(控件)信息

接口参数:

参数名 参数类型 是否必须 说明
fieldName String 必须 字段名
data Object 必须 更新的数据
tableName String 可选 明细表名
recordId String 可选 明细行记录id

用法示例:

data = {
  display: '新的控件标题',
  showValue: '新的控件显示值'
}
XForm.setField(fieldName, data) // 更新主表字段
XForm.setField(fieldName,data, tableName, recordId) // 更新明细行字段

返回结果:

true    // 更新成功
false   // 更新失败

# 2.4. XForm.allowedProps

列出字段(控件)支持更新的属性列表

# 3. 注意事项

  • 目前仅提供部分表单事件,后续根据实际反馈开放
  • cap2的事件名为sui_form_afterFormRender
  • XForm是CAP4移动端暴露在全局的变量
  • 目前只支持XForm.allowedProps列表内属性被更新
  • 未列出内容,待后续更新补充

End

创建人:yinyanting