ht.ui.Form(viewGroup)

new Form(viewGroup)

表单处理工具类;可快速将容器中的表单组件的名称和值组装为 JSON 数据,也支持通过修改 JSON 将值反填回组件中;
此工具还支持 JSON 整体变化事件和 JSON 中单条数据变化事件

Parameters:
Name Type Description
viewGroup ht.ui.ViewGroup

Methods

addChangeListener(listener, scope, ahead) → {void}

增加数据变化监听器

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope object <optional>

监听器函数域

ahead boolean <optional>

是否将当前监听器插入到监听器列表开头

Returns:
void

getFormDataNames() → {Array.<string>}

获取所有的表单组件名称

Returns:
Array.<string>

getFormView(name) → {ht.ui.View|Array.<ht.ui.View>}

根据名称获取对应的表单组件

Parameters:
Name Type Description
name string

表单组件的 formDataName

Returns:
ht.ui.View | Array.<ht.ui.View> -

组件

getFormViewMap() → {object}

获取 表单组件名称-表单组件 映射表

Returns:
object -

组件

getItem(name) → {any}

根据表单组件的名称获取对应的数据值

Parameters:
Name Type Description
name string

表单组件的 formDataName

Returns:
any -

getJSON() → {object}

获取由表单组件的名称和值组装成的 JSON 数据

Returns:
object -

JSON 对象

getViewGroup() → {ht.ui.ViewGroup}

获取容器对象

Returns:
ht.ui.ViewGroup -

容器对象

isFormDataNameWarnDisabled() → {boolean}

获取是否禁用了 formDataName 重复检测

Returns:
boolean -

是否禁用

removeChangeListener(listener, scope) → {void}

删除数据变化监听器

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope object <optional>

监听器函数域

Returns:
void

setFormDataNameWarnDisabled(disabled) → {void}

设置是否禁用 formDataName 重复检测,默认为 flase;
除 ToggleButton、CheckBox、RadioButton 之外其它组件的 formDataName 属性如果重复,浏览器会在控制台打印警告,
如果要关闭警告,请调用此 API 并将参数设为 true

Parameters:
Name Type Description
disabled boolean

是否禁用

Returns:
void

setItem(name, value) → {void}

设置 JSON 数据中表单组件的名称对应的值,这会同步修改组件的值

Parameters:
Name Type Description
name string

表单组件的 formDataName

value any

Returns:
void

setJSON(json) → {void}

设置 JSON 数据,同步更新容器中的表单组件

Parameters:
Name Type Description
json object

JSON 对象

Returns:
void

setViewGroup(viewGroup) → {void}

设置容器对象;递归遍历此容器对象并获取表单组件,为表单组件增加属性变化监听器以及时更新 JSON

Parameters:
Name Type Description
viewGroup ht.ui.ViewGroup

容器对象

Returns:
void