表单可编程 API 说明 (适用于组件版本 0.3.2+)
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} 其他字段键值对。
getContainer() 获得输入域所在容器 div 的 jQuery DOM 对象。
- @return {Object} DOM 对象。
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 '不合法原因'
}