表格编辑器的可编程 API 说明 (适用于组件版本 0.1.8+)

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} 输入域经您指定的数据类型转换后的值。
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。
closeTips() 关闭提示。
clear() 清除内容。
getRow() 获取所属表单对象。
  • @return form {Object} 行对象

Row 行对象

API

getInput(name) 获取输入域对象。
  • @param name {String} 输入域列名。
  • @return inpObject {InputObject} 输入域对象。
disable() 禁用。
affected(zContext) 影响。可以重新按照当前上下文变量刷新数据。
getLastEventInput() 获取最后事件触发的输入域对象。
  • @return {InputObject}
getId() 获取行 ID。
  • @return {String} 行 ID,也是对应的 HTML DOM ID

Widget 对象

如何获得 Widget 对象:

var var win = Enhancer.getEntityByNumber(窗口编号);
var gridEditor = win.getWidget();

API

getRow(index|rowId) 获取 Row 对象
  • @param index|rowId {Number | String} 行序号 或者行ID(同HTML DOM ID)
  • @return {Row} 行对象
getRows() 获取全部行对象。
  • @return {Array} 行对象数组。
addRow(data[, index]) 添加行
  • @param data {Object} 行数据,属性名应与 grid-editor 的列名一致。
  • @param index {Number} 行序号,从 0 开始,可不指定。若不指定或超出实际范围,则添加到最末尾。
  • @return rowId {String} 行 ID。

【例】

var win = Enhancer.getEntityByNumber(窗口编号);
var gridEditor = win.getWidget();
gridEditor.addRow({id: 123, name: '张三', type: 1});
copyRow(index) 复制行
  • @param index {Number} 被复制的行序号,从 0 开始。
  • @return rowId {String} 行 ID。
delRow(rowId) 删除行
  • @param rowId {String} 行ID(同HTML DOM ID)
  • @return {Boolean} 是否删除成功。
delAllRows() 删除全部行
  • @return {Boolean} 是否删除成功。
readonly(readonly) 设置只读或恢复可写。
  • @param readonly {Boolean} 是否只读。

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

var win = Enhancer.getEntityByNumber(窗口编号);
var gridEditor = win.getWidget();

// 获得第三行对象
var row = gridEditor.getRow(2);

var input = row.getInput('INPUT_NAME');
input.setValue('123');
input.trig('Change');  // 让外部知道本组件值发生变化,进而触发相关依赖窗口的刷新。

// 获得全部行对象
var rows = gridEditor.getRows();

自定义校验函数

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

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

results matching ""

    No results matching ""