O2OA API

Class

Address

Extends

Address 地址选择组件。

Usable Range

Process CMS

Example

//可以在脚本中获取该组件
//方法1:
var address = this.form.get("name"); //获取组件
//方法2
var address = this.target; //组件本身的事件和脚本中获取

Source

Members

jsonJsonObject

组件的配置信息,比如id,类型,是否只读等等。可以在组件的queryLoad事件里修改该配置来对组件做一些改变。

Type

  • JsonObject

Example

//可以在脚本中获取该组件
var json = this.form.get("fieldId").json; //获取组件对象
var id = json.id; //获取组件的id
var type = json.type; //获取组件的类型,如Textfield 为文本输入组件,Select为下拉组件

//在组件queryLoad事件里设置组件只读。
//当前组件的queryLoad事件运行时还没有在form里注册,通过this.form.get("fieldId")不能获取到当前组件,需要用this.target获取。
var json = this.target.json;
json.isReadonly = true; //设置组件为只读。

Source

parentLineMWF.xApplication.process.Xform.Datatemplate.Line|MWF.xApplication.process.Xform.DatatablePC.Line|MWF.xApplication.process.Xform.DatatableMobile.Line

当前组件在数据表格或者数据模板中时,可以通过此属性获取所在行(条目)对象.

Type

  • MWF.xApplication.process.Xform.Datatemplate.Line | MWF.xApplication.process.Xform.DatatablePC.Line | MWF.xApplication.process.Xform.DatatableMobile.Line

Example

//获取当前组件所在数据模板/数据表格的行(条目)对象
var line = this.target.parentLine;
//获取当前字段所在行下标
var index = line.getIndex();
//获取当前字段所在条目的subject字段的值
var data = line.getModule("subject").getData();
//设置当前字段所在条目的subject字段的值
line.getModule("subject").setData("test1");

Source

Methods

setData(value)

为组件赋值。

Description

当表单上没有对应组件的时候,可以使用this.data[fieldId] = data赋值。

Parameters

  • value String

    .

Examples

this.form.get("fieldId").setData("test"); //赋文本值
//如果无法确定表单上是否有组件,需要判断
 if( this.form.get('fieldId') ){ //判断表单是否有无对应组件
     this.form.get('fieldId').setData( data );
 }else{
     this.data['fieldId'] = data;
 }

Source

getText() → {Array|Promise}

获取选中项的text。

Returns

  • Array Promise

    返回选中项的text

Examples

var text = this.form.get('fieldId').getText(); //获取选中项的文本
//如果选项是异步的,比如数据字典、视图、查询视图
var p = this.form.get('fieldId').getText(); //获取选中项Promise
Promise.resolve(p).then(function(text){
    //text 为选选中项的文本
})

Source

getTextData() → {Object|Promise}

获取选中的值和文本.

Returns

  • Object Promise

    返回选中项值和文本,格式为 { 'value' : [value], 'text' : [text] }.

Examples

var array = this.form.get('fieldId').getTextData();
//异步
var array = this.form.get('fieldId').getTextData();
Promise.resolve(array).then(function(arr){
    //arr为选中项值和文本
})

Source

getOptionsObj(refreshopt) → {Object}

获取整理后的选择项。

Parameters

  • refresh Boolean <optional>

    是否忽略缓存重新计算可选项。

Returns

  • Object

    返回整理后的选择项数组或Promise,如:

    {"valueList": ["","female","male"], "textList": ["","女","男"]}
    

Examples

var optionData = this.form.get('fieldId').getOptionsObj();
//异步
var opt = this.form.get('fieldId').getOptionsObj(true);
Promise.resolve(opt).then(function(optionData){
    //optionData为选择项
})

Source

getData()

获取组件值。

Description

在脚本中使用 this.data[fieldId] 也可以获取组件值。 区别如下:
1、当使用Promise的时候
使用异步函数生成器(Promise)为组件赋值的时候,用getData方法立即获取数据,可能返回修改前的值,当Promise执行完成以后,会返回修改后的值。
this.data[fieldId] 立即获取数据,可能获取到异步函数生成器,当Promise执行完成以后,会返回修改后的值。
具体差异请查看链接
2、当表单上没有对应组件的时候,可以使用this.data[fieldId]获取值,但是this.form.get('fieldId')无法获取到组件。

Returns

  • 组件的数据.

Examples

var data = this.form.get('fieldId').getData(); //没有使用promise的情况、
//如果无法确定表单上是否有组件,需要判断
 var data;
 if( this.form.get('fieldId') ){ //判断表单是否有无对应组件
     data = this.form.get('fieldId').getData();
 }else{
     data = this.data['fieldId']; //直接从数据中获取字段值
 }
//使用Promise的情况
 var field = this.form.get("fieldId");
 var dict = new this.Dict("test"); //test为数据字典名称
 var promise = dict.get("tools", true); //异步使用数据字典的get方法时返回Promise,参数true表示异步
 promise.then( function(){
     var data = field.getData(); //此时由于异步请求已经执行完毕,getData方法获取到了数据字典的值
 })
 field.setData( promise );

Source

getSource(typeopt) → {Source|SubSource|SubSourceItem}

当前组件在数据源组件中时,可以通过此方法获取所在的上级数据源/子数据源/子数项组件.

Parameters

  • type String <optional>

    需要获取的类型,"source"为表示数据源,"subSource"表示子数据源,"subSourceItem"表示子数据项组件。 如果该参数省略,则获取离当前组件最近的上述组件。

Returns

  • Source SubSource SubSourceItem

Example

var source = this.target.getSource(); //获取当前组件的所在子上级数据源/子数据源/子数项组件.
var data = source.data; //获取数据

var source = this.form.get("fieldId").getSource("source"); //获取数据源组件
var data = source.data; //获取数据

Source

getParentModule(typeopt, validateFunctionopt) → {MWF.xApplication.process.Xform.$Module}

获取当前组件所在的祖先组件.

Parameters

  • type String <optional>

    需要获取的组件类型。 如果该参数省略,则获取离当前组件最近的祖先组件。type有效值如下:

    form- 表单
    common- 通用组件
    datatable- 数据表格
    datatableline- 数据表格行
    datatemplate- 数据模板
    datatemplateline- 数据模板行
    div- 容器组件
    elcommon- Element通用组件
    elcontainer- Element容器组件
    subform- 子表单
    source- 数据源组件
    subsource- 子数据源
    subsourceitem- 子数据项组件
    tab- 分页组件
    tabpage- 分页组件的某个分页
    table- 表格
    tabletd- 单元格
    widget- 部件
  • validateFunction function <optional>

    进一步校验,参数为获取到匹配到类型的组件,返回false继续往上取对应类型的组件,返回true返回该组件。

Returns

Example

var module = this.target.getParentModule(); //获取最近的祖先。

var datatemplateLine = this.target.getParentModule("datatemplateline"); //获取当前组件所在的数据模板行.

var module = this.target.getParentModule(null, function(module){
    return module.json.id === "div_1";
}); //获取当前组件id为div_1的父组件。

Source

Events

results matching

    No results matching ''