表单可编程 API 说明 (适用于组件版本 0.2.9+)

InputObject 输入域对象

介绍

每个输入域都可以设置事件处理器,让开发者捕获事件,实现相关的高级效果。

【事件处理器函数】

/**
 * @param inputObject {Object} 输入域对象本身
 * @param zContext {Object} 即 Enhancer.ZContext 对象实例,包含当前表单依赖的变量数据。
 */
function(inputObject, zContext) {
    //TODO: 处理一些事情
}

API

setValue(val) 给输入域赋值。注意,如果需要外部窗口感知数据变化,触发影响,需要进一步调用:inputObject.trig('Change')。
  • @param val {Object} 符合输入域承载显示的值。
getValue() 获取输入域的值。
  • @return {Object} 输入域的值。
getTypedValue() 获取经指定数据类型转换后的值。
  • @return {Object} 输入域经您指定的数据类型转换后的值。
getOtherOptionValues() 获取输入域当前选项在绑定的数据源选项中对应的其他字段的值。
  • @return {Object} 其他字段键值对。
enable() 启用。
disable() 禁用。
show() 显示。
hide() 隐藏。
affected(zContext) 影响。可以重新按照当前上下文变量刷新数据。
readonly(readonly) 设置只读或恢复可写。
  • @param readonly {Boolean} 是否只读。
focus() 聚焦。
check() 触发校验,按照您配置的校验规则进行检验并做相关提示。
  • @return {Boolean} 校验结果。
showTips(text, status) 显示提示。
  • @param text {String} 提示内容
  • @param status {String} 提示状态,取值可以是:error, highlight, active, default, hover。
getLastChosenFile() 获取上一次选中文件对象,仅文件上传、图片上传输入域支持。
  • @return {File} 选中文件
upload(file, callback) 上传文件,仅文件上传、图片上传输入域支持。
  • @param file {File} 文件对象。
  • @param callback {Function} 回调函数,已上传的文件基本信息,包括:
    • name 文件名
    • type 类型
    • url url
    • size 文件大小
getForm() 获取所属表单对象。
  • @return form {Object} 表单对象

Form 表单对象

API

getInput(name) 获取输入域对象。
  • @param name {String} 输入域名。
  • @return inpObject {InputObject} 输入域对象。
disable() 禁用。
enable() 启用。
readonly(readonly) 设置只读或恢复可写。
  • @param readonly {Boolean} 是否只读。

窗口外部获取表单组件对象方法

var win = Enhancer.getEntityByNumber(窗口编号); // 获得窗口对象。
var form = win.getWidget(); // 获取组件对象。
var inputObj = form.getInput('TEXT0'); // 获取输入域对象。
inputObj.setValue(123); // 给输入域赋值。
inputObj.trig('Change'); // 让外部感知赋值变化,相关依赖窗口会被触发刷新。

自定义校验函数

在输入域设置校验规则中,可以指定自定义校验函数:

/**
 * @param value {Object} 当前输入域的值。
 * @param context {Object} 表单全部输入域的键-值对象,通过 context[输入域名] 可取得对应值。
 * @param inputObject {InputObject} 当前输入域对象。
 **/
function(value, context, inputObject) {
    if (合法) {
        return true
    }
    return '不合法原因'
}

results matching ""

    No results matching ""