ht.ui.TableRow(properties)

new TableRow(properties)

此组件管理着 TableLayout 中的一行子组件;
需要注意的是,这并不是一个真正的可视化组件(没有从 ht.ui.View 继承),只是 TableLayout 中一行子组件的逻辑管理单位;
此组件会遍历行中的多个子组件,根据每个子组件的 preferredSize 计算行高度
但是一旦出现子组件跨行的情况就会无法计算,此时可能需要调用 setPreferredHeight(height) 手动指定;
样式属性:preferredHeight, weight, visible

Parameters:
Name Type Attributes Description
properties Object <optional>

Methods

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

增加属性事件变化监听函数

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope object <optional>

函数域

ahead boolean <optional>

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

Returns:
void

addView(view, params, index) → {void}

添加子组件

Parameters:
Name Type Attributes Description
view ht.ui.View

子组件

params object <optional>

布局参数

index number <optional>

在子组件列表中的插入位置

Returns:
void

clear() → {void}

删除所有子组件

Returns:
void

findViewById(id, recursive) → {ht.ui.View}

遍历子组件列表根据 id 查找匹配的子组件

Parameters:
Name Type Description
id string | number

子组件 id

recursive boolean

是否递归查找

Returns:
ht.ui.View -

匹配到的子组件

firePropertyChange(property, oldValue, newValue, compareFunc) → {boolean}

派发属性变化事件

Parameters:
Name Type Attributes Description
property string

属性名

oldValue any

属性变化之前的值

newValue any

属性变化之后的值

compareFunc Object <optional>

比较函数,用于比较新值和旧值是否一致,如果一致则不会派发事件

Returns:
boolean -

事件是否派发成功

fp(property, oldValue, newValue, compareFunc) → {boolean}

派发属性变化事件,{firePropertyChange} 的缩写

Parameters:
Name Type Attributes Description
property string

属性名

oldValue any

属性变化之前的值

newValue any

属性变化之后的值

compareFunc Object <optional>

比较函数,用于比较新值和旧值是否一致,如果一致则不会派发事件

Returns:
boolean -

事件是否派发成功

getChildLayoutParams(child) → {object}

获取子组件的 layoutParams

Parameters:
Name Type Description
child ht.ui.View
Returns:
object -

layoutParams

getChildren() → {ht.List}

获取子组件列表

Returns:
ht.List -

子组件列表

getId() → {any}

获取唯一标识

Returns:
any -

唯一标识

getMatchedStyles() → {object}

获取组件匹配到的样式

Returns:
object

getParent() → {ht.ui.TableLayout}

获取父容器,即所属的 TableLayout

Returns:
ht.ui.TableLayout -

父容器

getPreferredHeight() → {number}

获取行首选高度

Returns:
number -

首选宽度

getPropertyValue(name) → {void}

取属性的值

Parameters:
Name Type Description
name string

属性名

Returns:
void

getStyle() → {string}

获取组件的样式名;如果有多个样式名,以空格分开,如:'header title';注意此样式是指 HT 的样式,而非 CSS 样式

Returns:
string -

样式名

getStyleProperties() → {object}

获取样式属性映射表,格式为:{'preferredHeight': true ...}

Returns:
object -

样式属性映射表

getStyleValue(property) → {any}

获取样式属性对应的样式值

Parameters:
Name Type Description
property string

属性名

Returns:
any -

样式值

getWeight() → {number}

获取行权重值,默认为 0.1

Returns:
number -

权重值

isStyleProperty(property) → {boolean}

判断属性是否是样式属性

Parameters:
Name Type Description
property string

属性名

Returns:
boolean -

是否是样式属性

isVisible() → {boolean}

判断行是否可见

Returns:
boolean -

是否可见

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

增加属性事件变化监听函数,{addPropertyChangeListener} 的缩写

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope object <optional>

函数域

ahead boolean <optional>

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

Returns:
void

removePropertyChangeListener(listener, scope) → {void}

删除属性事件变化监听器

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope object <optional>

函数域

Returns:
void

removeView(view) → {void}

删除子组件

Parameters:
Name Type Description
view ht.ui.View

要删除的子组件

Returns:
void

removeViewAt(index) → {void}

删除子组件列表中对应下标为 index 的子组件

Parameters:
Name Type Description
index number

子组件下标

Returns:
void

setId(id) → {void}

设置唯一标识

Parameters:
Name Type Description
id string | number

唯一标识

Returns:
void

setPreferredHeight(height) → {void}

设置行首选高度

Parameters:
Name Type Description
height number

高度值

Returns:
void

setPropertyValue(name, value) → {void}

设置属性值并派发事件,自定义 set 函数内部应该调用此函数设值

Parameters:
Name Type Description
name string

属性名

value any

属性值

Returns:
void

setStyle(styleName) → {void}

设置组件的样式名;如果有多个样式名,以空格分开,如:'header title';注意此样式是指 HT 的样式,而非 CSS 样式

Parameters:
Name Type Description
styleName string

样式名

Returns:
void

setVisible(visible) → {void}

设置行是否可见

Parameters:
Name Type Description
visible boolean

是否可见

Returns:
void

setWeight(weight) → {void}

设置行高度权重;如果布局器的总高度大于所有行的首选高度之和,那么剩余的高度就根据权重分配,如多余出 100px 的高度,
第一行的权重值为 0.1,第二行的权重值为 0.4,那么第一行获得 100 × 0.1 / (0.1 + 0.4) = 20px,第二行获得 100 × 0.4 / (0.1 + 0.4) = 80px;

Parameters:
Name Type Description
weight number

权重值

Returns:
void

ump(listener, scope) → {void}

删除属性事件变化监听器,{removePropertyChangeListener} 的缩写

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope object <optional>

函数域

Returns:
void