Form Nodes
Node
所有实际的表单 Node 都继承于 Node
。
API
属性/方法 | 类型 | 描述 |
---|---|---|
nodePath readonly | string | Node 的路径。 |
value | any | 返回或者设置节点的值。如果字段是系统保护字段,则设置该值将会引发错误。 |
caution
Builder API 创建的 node 节点取值应该直接使用通过 FormDialogBuilder 创建表单时,指定的 id 值,这里的表单完全是通过脚本创建的,和智元平台中配置的模型完全无关。
FormNode
表单根节点引用对象。
API
属性/方法 | 类型 | 描述 |
---|---|---|
getField(path) | 参数:path: string 返回:FieldNode | 在父节点中 返回 path 对应的节点引用。 |
getSubGrid(path) | 参数:path: string 返回:SunGriddNode | 在父节点中 返回 path 对应的子表引用。 |
FieldNode
表单字段节点引用对象。
API
属性/方法 | 类型 | 描述 |
---|---|---|
name readonly | string | 返回字段的名称,也就是字段的 id 。 |
label | string | 返回或者设置字段的显示标签文本。 |
disabled | boolean | 返回或者设置字段的可用状态。如果字段是系统保护字段并且处于不可用状态,则设置该值为 false 将会引发错误。 |
visible | boolean | 返回或者设置字段的可见状态。 |
required | boolean | 返回或者设置字段的必填状态。 |
isValid readonly | boolean | 返回字段的校验正确性。 |
setIsValid(valid, [message]) | 参数:valid: boolean message: string 返回:无 | 设置字段的校验正确性。field.setIsValid(false, 'Error!') |
findUnique(params) | 参数:params: FindParams 返回:Object | 根据 params 的参数,再结合产品对该字段内置的查询参数进行数据查询。如果查询结果只有唯一的一条记录,则返回查询结果。否则返回空。 |
findOne(params) | 参数:params: FindParams 返回:Object | 根据 params 的参数,再结合产品对该字段内置的查询参数进行数据查询。如果查询结果中有记录,则返回查询结果的第一行数据。否则返回空。 |
findMany(params) | 参数:params: FindParams 返回:Object[] | 根据 params 的参数,再结合产品对该字段内置的查询参数进行数据查询。 |
selectUnique(params) | 参数:params: FindParams 返回:Object | 该方法和 findUnique 类似,但是不同之处,如果查询结果有唯一的数据,则会同时给当前字段的 value 赋值。 |
selectOne(params) | 参数:params: FindParams 返回:Object | 该方法和 findOne 类似,但是不同之处,如果查询结果有数据,则会使用查询结果中的第一个值给当前字段的 value 赋值。 |
addFilter(where) | 参数:where: FindWhereParams 返回:无 | 给字段增加额外的过滤条件。增加的条件会和产品对该字段内置的查询条件以 AND 关系组合成新的查询条件。 |
removeFilter() | 去掉通过 addFilter 的过滤条件。 |
非常重要!
如果 FieldNode 是一个引用关联字段,比如客户、供应商、人员、部门等这种类型的字段。那么我们要给这种字段通过 Client API 赋值的时候,不能直接给字段的 value 设置一个 id。而必须要通过 selectUnique 或者 selectOne 来查找数据并且赋值。
SubGridNode
继承自 FieldNode
API
属性/方法 | 类型 | 描述 |
---|---|---|
rowCount readonly | number | 返回子表的行数量。 |
rows readonly | RowNode[] | 返回子表所有行节点。 |
appendRow(initialize: bool ) | 参数: initialize : bool , 可选, 返回:RowNode | 给子表添加一个空白行,并且返回新增的行引用。initalize为true的话,加行时同时初始化, web端因为默认有空白行, 追加行为是在最后一行前追加, h5直接在最后追加行 |
appendRows(rows: Array<any> ) | 参数: rows : Array<any> , 行数据集合 | 给子表添加一批行 |
insertRow(index) | 参数:index: number 返回:RowNode | 给子表在 index 位置插入一个空白行,并且返回新增的行引用。 |
insertRows(index:number , rows: Array<any> ) | 参数:index: number , rows : Array<any> 行数据集合 | 给子表在 index 位置插入一批数据行。 |
removeRowAt(index) | 参数:index: number | 删除子表中 index 位置的行。 |
removeAllRows() | 清空子表的所有行。 | |
getRowAt(index) | 参数:index: number 返回:RowNode | 返回子表中 index 位置的行。 |
RowNode
继承自 `FieldNode
API
属性/方法 | 类型 | 描述 |
---|---|---|
getField(path) | 参数:path: string 返回:FieldNode | 在父节点中 返回 path 对应的节点引用。 |
rowIndex readonly | number | 返回子表行位置(从 0 开始)。 |
gridName readonly | string | 返回子表名称。 |
isInitialized readonly | bool | 行是否初始化。 |
initialize() | 初始化行, 添加的空行是未初始化的情况下不会触发规则计算,这时需要主动调用行初始化方法 |