数据组件行对象方法
数据组件里面的每行数据都是一个行对象,行对象可以取值、赋值、获取行状态、设置行状态、数据序列化
获取行对象
数据组件通过 current 属性、getCurrentRow、getRowByID、each、find 等方法可以获取到行对象
- 获取当前行对象
let row = this.comp("selectData").current;
- 遍历获取每一个行对象
this.comp("productData").each((param)=>{
param.row //行对象
});
- 查找返回符合条件的行对象数组
let rows = this.comp('mainData').find(['fName'],['李']);
取值
使用“值=行对象.列标识”获取该列中的值
赋值
使用“行对象.列标识=值”给该列赋值
获取行状态
行对象提供 getState 方法获取行状态,说明如下
方法:
getState ()
描述:
获取行状态
返回值:
String - 行状态,包括:new,edit,delete,none
获取当前行状态,示例代码如下
this.comp("mainData").current.getState("edit");
设置行状态
行对象提供 setState 方法设置行状态,说明如下
方法:
setState (String state)
描述:
设置行状态
参数:
state:{String} - 行状态,包括:new,edit,delete,none
设置行状态为编辑状态,示例代码如下,设置后 isChanged 方法返回 true
this.comp("mainData").current.setState("edit");
数据序列化
行对象提供 toJson 方法将数据序列化为 JSON 对象,说明如下
方法:
toJson (JSON option)
描述:
获取 JSON 格式序列化对象
参数:
option:{JSON} - 序列化参数
{
ui: {Boolean} - 是否用于界面展现, true 表示用于展现,false 用于往后端传,默认值: false
includeState: {Boolean} - 是否包含行状态, 默认值: false
excludeCalculateCol: {Boolean} - 是否不包含计算列, 默认值: false
resultType: {String} - 结果类型, 取值为 list 或 tree, 只对树形数据起作用,默认值:tree
excludeChildren: {Boolean} - 是否排除子节点, 只对树形数据起作用, 默认值: false
}
返回值:
JSON | Array(JSON) - resultType="list" 时返回数组
示例代码
this.comp("productData").current.toJson();
返回结果如下图所示