ht.ui.TreeView(dataModel)

new TreeView(dataModel)

树组件,以层次树的方式呈现 DataModel 中数据元素及父子关系

Parameters:
Name Type Attributes Description
dataModel object | ht.DataModel <optional>

Extends

Methods

acceptDrop(event) → {void}

接受拖拽数据;可重写此函数,根据拖拽事件加业务判断是否接受拖拽数据

Parameters:
Name Type Description
event Object
Returns:
void

addBottomPainter(painter) → {void}

增加底层绘制器
开发者可以使用 Canvas 的画笔对象自由绘制任意形状,底层绘制器绘制在组件最下面

Parameters:
Name Type Description
painter Object

绘制器函数

Returns:
void
Example
// 示例:
tableView.addBottomPainter(function(g) {
     g.save();
     // draw...
     g.restore();
});

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

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

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope object <optional>

函数域

ahead boolean <optional>

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

Returns:
void
Inherited From:

addStyleProperty(property) → {void}

追加样式属性,将参数属性加入到样式属性列表中

Parameters:
Name Type Description
property string

属性名

Returns:
void
Inherited From:

addToDOM(dom, rect) → {void}

将组件加到页面的 DOM 树中;如果没有任何参数,或者只指定第一个参数并且第一个参数为 window,则组件会填满整个浏览器窗口,
并且浏览器窗口大小变化时也会自动刷新组件

Parameters:
Name Type Attributes Description
dom HTMLElement <optional>

指定组件的父亲 DOM,如果为空,则加到 body 中

rect Object <optional>

组件的范围,格式为 {x: x, y: y, width: width, height: height};如果为空,则填满父亲 DOM

Returns:
void
Inherited From:

addTopPainter(painter) → {void}

增加顶层绘制器
开发者可以使用 Canvas 的画笔对象自由绘制任意形状,顶层绘制器绘制在组件最上面

Parameters:
Name Type Description
painter Object

绘制器函数

Returns:
void
Example
// 示例:
tableView.addTopPainter(function(g) {
     g.save();
     // draw...
     g.restore();
});

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

增加 View 事件监听器,如 invalidate(无效事件)、beginValidate 等事件

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope object <optional>

监听器函数域

ahead boolean <optional>

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

Returns:
void
Inherited From:

adjustTranslateX(value) → {number}

调用 setTranslateX 之前调用此函数确保滚动值是合理范围内,如果滚动值不合理,将会被调整并返回

Parameters:
Name Type Description
value number

调整之前的滚动值

Returns:
number -

调整后的滚动值

adjustTranslateY(value) → {number}

调用 setTranslateY 之前调用此函数确保滚动值是合理范围内,如果滚动值不合理,将会被调整并返回

Parameters:
Name Type Description
value number

调整之前的滚动值

Returns:
number -

调整后的滚动值

beginEdit(data, column, editor) → {void}

开始编辑数据,可以调用这个函数手动启动编辑

Parameters:
Name Type Description
data ht.Data

数据元素

column object | ht.ui.Column
editor string | function | ht.ui.editor.Editor

编辑器类或类名或实例

Returns:
void

checkData(data) → {void}

模拟鼠标点击勾选一个节点

Parameters:
Name Type Description
data ht.Data

节点

Returns:
void

checkDatas(datas) → {void}

模拟鼠标点击勾选一批节点

Parameters:
Name Type Description
datas Array.<ht.Data>

节点数组

Returns:
void

checkHitTest(e, data) → {boolean}

判断在 check 模式下,是否点击中了 check 区域

Parameters:
Name Type Attributes Description
e object

事件对象

data ht.Data <optional>

数据元素

Returns:
boolean -

是否点击中 check 区域

collapse(data) → {void}

合并数据元素(如果数据元素有子元素并处于展开状态)

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
void

collapseAll() → {void}

合并所有数据元素

Returns:
void

createDragImage(data, selection) → {string|object}

生成拖拽图片

Parameters:
Name Type Description
data ht.Data

开始拖拽的节点

selection ht.List

开始拖拽时选中的节点列表

Returns:
string | object -

图片,可以是 Canvas 对象、Image 对象、矢量对象或注册的图片名称

disableToolTip() → {void}

禁用工具提示,同 setToolTipEnabled

Returns:
void
Overrides:

dm(dataModel) → {ht.DataModel}

获取或设置数据模型,没有参数时相当于 getDataModel,有参数时相当于 setDataModel

Parameters:
Name Type Attributes Description
dataModel ht.DataModel <optional>

数据模型

Returns:
ht.DataModel -

dataModel

drawBackground(background, x, y, width, height, dom) → {void}

绘制背景

Parameters:
Name Type Attributes Description
background ht.ui.drawable.Drawable <optional>

背景 Drawable

x number <optional>

起点 x 坐标

y number <optional>

起点 y 坐标

width number <optional>

宽度

height number <optional>

高度

dom HTMLElement <optional>

指定绘制的目标 DOM

Returns:
void
Inherited From:

drawBorder(border, x, y, width, height, dom) → {void}

绘制边框

Parameters:
Name Type Attributes Description
border ht.ui.border.Border <optional>

边框对象

x number <optional>

起点 x 坐标

y number <optional>

起点 y 坐标

width number <optional>

宽度

height number <optional>

高度

dom HTMLElement <optional>

指定绘制的目标 DOM

Returns:
void
Inherited From:

drawIcon(g, data, x, y, width, height) → {void}

绘制数据元素的图标

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

data ht.Data

数据元素

x number

绘制范围 x 坐标

y number

绘制范围 y 坐标

width number

绘制范围的宽度

height number

绘制范围的高度

Returns:
void

drawLabel(g, data, x, y, height) → {void}

绘制数据元素的文本;注意:label 没有 width 参数限制

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

data ht.Data

数据元素

x number

绘制范围 x 坐标

y number

绘制范围 y 坐标

height number

绘制范围的高度

Returns:
void

drawRow(g, data, selected, x, y, width, height) → {void}

绘制行内容

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

data ht.Data

数据元素

selected boolean

数据元素是否选中

x number

绘制范围 x 坐标

y number

绘制范围 y 坐标

width number

绘制范围的宽度

height number

绘制范围的高度

Returns:
void

drawRowBackground(drawable, x, y, width, height, data) → {void}

绘制行背景,默认仅在选中行时填充选中背景以及 hover 时填充 hover 背景,可重写自定义

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

Drawable 对象

x number

绘制范围 x 坐标

y number

绘制范围 y 坐标

width number

绘制范围的宽度

height number

绘制范围的高度

data ht.Data

数据元素

Returns:
void

drawRowLine(g, color, x, y, width, height, data) → {void}

绘制行分割线

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

color string

颜色值

x number

绘制范围 x 坐标

y number

绘制范围 y 坐标

width number

绘制范围的宽度

height number

绘制范围的高度

data ht.Data

数据元素

Returns:
void

drawToggleIcon(drawable, x, y, width, height, data) → {void}

绘制展开合并图标

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

Drawable 对象

x number

绘制范围 x 坐标

y number

绘制范围 y 坐标

width number

绘制范围的宽度

height number

绘制范围的高度

data ht.Data

数据元素

Returns:
void

enableToolTip() → {void}

启用工具提示,同 setToolTipEnabled

Returns:
void
Overrides:

endEdit(setValue) → {void}

结束编辑数据,可以调用这个函数手动结束编辑

Parameters:
Name Type Description
setValue boolean

是否将 Editor 中的值同步到模型中,如果为 false,Editor 中的值被丢弃

Returns:
void

expand(data) → {void}

展开数据元素(如果数据元素有子元素并且处于合并状态)

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
void

expandAll(data) → {void}

展开所有数据元素

Parameters:
Name Type Description
data ht.Data
Returns:
void

figureMaxSize() → {Object}

计算 maxSize,maxSize 表示组件的最大尺寸,布局器布局时会考虑此尺寸;

Returns:
Object -

maxSize

Inherited From:

figureMinSize() → {Object}

计算 minSize,minSize 表示组件的最小尺寸,布局器布局时会考虑此尺寸;

Returns:
Object -

minSize

Inherited From:

figurePreferredSize() → {Object}

计算 preferredSize,preferredSize 表示组件自身最合适的尺寸,布局器布局时会考虑此尺寸;
如果自定义组件一般需要重写此函数

Returns:
Object -

preferredSize

Inherited From:

fireViewEvent(event) → {void}

派发 View 事件

Parameters:
Name Type Description
event string | Object

事件对象;如果是字符串,表示事件类型,函数内自动组装一个事件对象并派发示例:view.fireViewEvent('myevent') 等同于 view.fireViewEvent({kind: 'myevent'})

Returns:
void
Inherited From:

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

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

Parameters:
Name Type Attributes Description
property string

属性名

oldValue any

属性变化之前的值

newValue any

属性变化之后的值

compareFunc Object <optional>

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

Returns:
boolean -

事件是否派发成功

Inherited From:

getAllRowDatas() → {ht.List}

获取所有可显示的数据元素集合,该集合已被排序和过滤(与 rowDatas 相比,此属性包含被折叠暂时不显示的数据元素)

Returns:
ht.List

getBackground() → {string|object}

获取组件的背景,可以是颜色或者图片等

Returns:
string | object -

组件背景

Inherited From:

getBackgroundDrawable() → {ht.ui.drawable.Drawable}

获取组件背景的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

组件背景

Inherited From:

getBodyColor(data) → {string}

获取数据元素图标的染色,可重写自定义

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
string -

颜色值,默认返回 data.s('body.color')

getBorder() → {ht.ui.border.Border}

获取组件的边框

Returns:
ht.ui.border.Border -

组件边框

Inherited From:

getBorderBottom() → {number}

获取组件边框的底部高度

Returns:
number -

组件边框底部高度

Inherited From:

getBorderColor(data) → {string}

获取数据元素图标的边框色,可重写自定义

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
string -

颜色值,默认返回 data.s('border.color')

getBorderLeft() → {number}

获取组件边框的左侧宽度

Returns:
number -

组件边框左侧宽度

Inherited From:

getBorderRadius() → {number|Array.<number>}

获取 CSS 边框圆角

Returns:
number | Array.<number> -

边框圆角

Inherited From:

getBorderRight() → {number}

获取组件边框的右侧宽度

Returns:
number -

组件边框右侧宽度

Inherited From:

getBorderTop() → {number}

获取组件边框的顶部高度

Returns:
number -

组件边框顶部高度

Inherited From:

getBoxShadow() → {string}

获取 CSS 阴影值

Returns:
string -

阴影值

Inherited From:

getCheckIcon() → {string|object}

获取选中状态的多选图标,可以是颜色或者图片等

Returns:
string | object -

图标

getCheckIconDrawable() → {ht.ui.drawable.Drawable}

获取选中状态的多选图标的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

图标

getCheckMode() → {string}

获取 check 模式
null:默认值,不启用 check 选择模式
default:check 模式的默认选择方式,即单击选中或取消选中,只影响当前点击中的数据元素
children:该 check 模式将同时影响点击中的数据元素及其孩子元素
descendant:该 check 模式将同时影响点击中的数据元素及其所有子孙元素
all:该 check 模式将同时影响点击中的数据元素及其所有父辈和子孙元素

Returns:
string -

check 模式

getCollapseIcon() → {string|object}

获取合并图标,可以是颜色或者图片等

Returns:
string | object -

图标

getCollapseIconDrawable() → {ht.ui.drawable.Drawable}

获取合并图标的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

图标

getContentBottom() → {number}

获取内容底部距离,即底部边框高度加底部内边距高度

Returns:
number -

内容底部距离

Inherited From:

getContentDiv() → {HTMLElement}

获取内容 div;对于普通组件,contentDiv 里放置了 canvas 画布;对于容器组件,contentDiv 里除了画布,还有所有的子组件

Returns:
HTMLElement -

内容 div

Inherited From:

getContentHeight() → {number}

获取内容高度,即组件高度减去边框高度和上下内边距高度

Returns:
number -

内容高度

Inherited From:

getContentLeft() → {number}

获取内容左侧距离,即左侧边框宽度加左侧内边距宽度

Returns:
number -

内容左侧距离

Inherited From:

getContentPoint(event) → {Object}

获取内容坐标点;此坐标与内边距和边框无关,是从内容区域左上角开始计算

Parameters:
Name Type Description
event object

交互事件对象(如鼠标事件对象)

Returns:
Object -

内容坐标点,包含 x、y 坐标

Inherited From:

getContentRight() → {number}

获取内容右侧距离,即右侧边框宽度加右侧内边距宽度

Returns:
number -

内容右侧距离

Inherited From:

getContentTop() → {number}

获取内容顶部距离,即顶部边框高度加顶部内边距高度

Returns:
number -

内容顶部距离

Inherited From:

getContentWidth() → {number}

获取内容宽度,即组件宽度减去边框宽度和左右内边距宽度

Returns:
number -

内容宽度

Inherited From:

getContextMenu() → {ht.ui.ContextMenu}

获取绑定的右键菜单

Returns:
ht.ui.ContextMenu -

右键菜单

Inherited From:

getCurrentLabelColor(data) → {string}

获取数据元素的文本颜色,默认实现根据选中状态返回 labelColor 或 hoverLabelColor 或 selectLabelColor,可重写自定义

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
string -

颜色值

getCurrentRowBackgroundDrawable(data, selected) → {ht.ui.drawable.Drawable}

根据参数 data 和选中状态,返回相应的行背景(hoverRowBackgroundDrawable 或 selectRowBackgroundDrawable)

Parameters:
Name Type Description
data ht.Data

节点对象

selected boolean

节点是否选中

Returns:
ht.ui.drawable.Drawable -

背景

getCursor() → {string}

获取鼠标样式(CSS 格式)

Returns:
string -

鼠标样式

Inherited From:

getDataAt(pointOrEvent) → {ht.Data}

传入逻辑坐标点或者交互事件对象,返回坐标下的数据元素

Parameters:
Name Type Description
pointOrEvent MouseEvent | TouchEvent | Object

逻辑坐标点或交互事件对象(如鼠标事件对象)

Returns:
ht.Data -

坐标下的数据元素

getDataModel() → {ht.DataModel}

获取绑定的数据模型

Returns:
ht.DataModel -

数据模型

getDisabledBackground() → {string|object}

组件被禁用时,遮罩的背景;这个值被设置到遮罩 div 的 background 样式上,因此可以使用所有 CSS 支持的 background 类型

Returns:
string | object -

遮罩背景

Inherited From:

getDOMProperties() → {object}

获取 DOM 属性映射表,格式为:{'width': true ...};这些属性发生变化才会更新 DOM 结构,否则只需要绘制内容即可

Returns:
object -

DOM 属性映射表

Inherited From:

getDropLineColor() → {string}

获取拖拽提示线颜色

Returns:
string -

颜色值

getEditor() → {ht.ui.editor.Editor}

获取编辑器

Returns:
ht.ui.editor.Editor -

编辑器实例

getEditorClass(data) → {string|function}

获取编辑器,可重写根据不同的数据元素返回不同的编辑器

Parameters:
Name Type Attributes Description
data ht.Data <optional>

数据元素

Returns:
string | function -

编辑器类或类名

getEditorValidator() → {function}

获取编辑器验证函数

Returns:
function -

数据验证函数

getEditorViewProperties(data) → {void}

获取编辑组件的属性,默认返回 data.s('editorViewProperties')

Parameters:
Name Type Description
data ht.Data
Returns:
void

getEndRowIndex() → {number}

获取当前可见区域的结束行索引

Returns:
number -

索引

getErrorMessage() → {string}

获取错误信息

Returns:
string -

错误信息

Inherited From:

getExpandIcon() → {string|object}

获取展开图标,可以是颜色或者图片等

Returns:
string | object -

图标

getExpandIconDrawable() → {ht.ui.drawable.Drawable}

获取展开图标的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

图标

getFocusData() → {ht.Data}

在 check 模式下,点击一个数据元素使其背景变化但并不选中它,此时它处于 focus 状态
此函数获取 focus 状态数据元素

Returns:
ht.Data -

数据元素

getFocusRowBackground() → {string|object}

获取 check 模式下,点击行的背景;可以是颜色或者图片等

Returns:
string | object -

背景

getFocusRowBackgroundDrawable() → {ht.ui.drawable.Drawable}

获取 check 模式下,点击行背景的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

背景

getHeight() → {number}

获取组件的高度

Returns:
number -

组件高度

Inherited From:

getHoverCollapseIcon() → {string|object}

获取 hover 状态的合并图标,可以是颜色或者图片等

Returns:
string | object -

图标

getHoverCollapseIconDrawable() → {ht.ui.drawable.Drawable}

获取 hover 状态的合并图标的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

图标

getHoverData() → {ht.Data}

获取 hover 状态的数据元素

Returns:
ht.Data -

数据元素

getHoverExpandIcon() → {string|object}

获取 hover 状态的展开图标,可以是颜色或者图片等

Returns:
string | object -

图标

getHoverExpandIconDrawable() → {ht.ui.drawable.Drawable}

获取 hover 状态的展开图标的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

图标

getHoverLabelColor() → {string}

获取 hover 状态下文本的颜色

Returns:
string -

颜色值

getHoverRowBackground() → {string|object}

获取 hover 状态下的行背景;可以是颜色或者图片等

Returns:
string | object -

背景

getHoverRowBackgroundDrawable() → {ht.ui.drawable.Drawable}

获取 hover 状态下行选中背景的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

背景

getIcon(data) → {string}

获取数据元素对应的图标,默认返回 data.getIcon(),可重写自定义

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
string -

图标

getIconGap() → {number}

返回图标之间的距离

Returns:
number -

距离值

getIconHeight() → {number}

返回数据元素的图标高度

Returns:
number -

高度值

getIconStretch() → {string}

获取 icon 拉伸方式

Returns:
string -

拉伸方式

getIconWidth() → {number}

返回数据元素的图标宽度

Returns:
number -

宽度值

getId() → {any}

获取唯一标识,根据标识可快速查找到组件

Returns:
any -

唯一标识

Inherited From:

getIndent() → {number}

返回不同层次之间的缩进值

Returns:
number -

缩进值

getIndeterminateIcon() → {string|object}

获取半选中状态的图标,可以是颜色或者图片等

Returns:
string | object -

图标

getIndeterminateIconDrawable() → {ht.ui.drawable.Drawable}

获取半选中状态的图标的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

图标

getInteractorClasses() → {Array.<string>}

获取交互器类名数组

Returns:
Array.<string> -

交互器类名数组

Inherited From:

getLabel(data) → {string}

获取数据元素显示的文本,默认返回 data.toLabel(),可重写自定义

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
string -

文本内容

getLabelColor() → {string}

获取数据元素的文本颜色

Returns:
string -

颜色值

getLabelFont() → {string}

获取数据元素的文本字体,可重写自定义

Returns:
string -

文本字体

getLayoutParams(key) → {any}

获取布局参数

Parameters:
Name Type Attributes Description
key string <optional>

布局参数中的 key

Returns:
any -

如果指定 key 参数返回布局参数中 key 对应的值,否则返回整个布局参数对象

Inherited From:

getLevel(data) → {number}

获取数据元素的缩减层次,一般结合 indent 参数用于绘制

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
number -

层次

getLoader() → {Object}

获取延迟加载器

Returns:
Object

getMargin() → {number|Array.<number>}

获取组件外边距,如果是数字,说明四边使用相同的外边距;如果是数组,则格式为:[上边距, 右边距, 下边距, 左边距]

Returns:
number | Array.<number> -

外边距

Inherited From:

getMarginBottom() → {number}

获取组件底部外边距高度

Returns:
number -

底部外边距高度

Inherited From:

getMarginRight() → {number}

获取组件右侧外边距宽度

Returns:
number -

右侧外边距宽度

Inherited From:

getMarginTop() → {number}

获取组件顶部外边距高度

Returns:
number -

顶部外边距高度

Inherited From:

getMarignLeft() → {number}

获取组件左侧外边距宽度

Returns:
number -

左侧外边距宽度

Inherited From:

getMatchedStyles() → {object}

获取组件匹配到的样式

Returns:
object
Inherited From:

getMaxSize() → {Object}

获取 maxSize,maxSize 表示组件自身最合适的尺寸;
如果用户没有设置,则调用 figureMaxSize 计算

Returns:
Object -

maxSize

Inherited From:

getMaxSizeProperties() → {object}

获取 maxSize 属性映射表,格式为:{'border': true ...};这些属性变化会重新计算 maxSize

Returns:
object -

maxSize 属性映射表

Inherited From:

getMinSize() → {Object}

获取 minSize,minSize 表示组件的最小尺寸;
如果用户没有设置,则调用 figureMinSize 计算

Returns:
Object -

minSize

Inherited From:

getMinSizeProperties() → {object}

获取 minSize 属性映射表,格式为:{'border': true ...};这些属性变化会重新计算 minSize

Returns:
object -

minSize 属性映射表

Inherited From:

getPadding() → {number|Array.<number>}

获取组件内边距,如果是数字,说明四边使用相同的内边距;如果是数组,则格式为:[上边距, 右边距, 下边距, 左边距]

Returns:
number | Array.<number> -

内边距

Inherited From:

getPaddingBottom() → {number}

获取组件底部内边距高度

Returns:
number -

底部内边距高度

Inherited From:

getPaddingLeft() → {number}

获取组件左侧内边距宽度

Returns:
number -

左侧内边距宽度

Inherited From:

getPaddingRight() → {number}

获取组件右侧内边距宽度

Returns:
number -

右侧内边距宽度

Inherited From:

getPaddingTop() → {number}

获取组件顶部内边距高度

Returns:
number -

顶部内边距高度

Inherited From:

getParent() → {ht.ui.ViewGroup}

获取父容器

Returns:
ht.ui.ViewGroup -

父容器

Inherited From:

getPopover() → {ht.ui.Popover}

获取弹框组件

Returns:
ht.ui.Popover -

弹框组件

Inherited From:

getPopoverPlacements() → {Array.<string>}

获取弹框组件的弹出位置

Returns:
Array.<string> -

弹出位置

Inherited From:

getPopoverTrigger() → {string}

获取弹框触发器

Returns:
string -

弹框触发器,值为:click|hover

Inherited From:

getPreferredSize() → {Object}

获取 preferredSize,preferredSize 表示组件自身最合适的尺寸,布局器布局时会考虑此尺寸;
如果用户没有设置,则调用 figurePreferredSize 计算

Returns:
Object -

preferredSize

Inherited From:

getPreferredSizeProperties() → {object}

获取 preferredSize 属性映射表,格式为:{'border': true ...};这些属性变化会重新计算 preferredSize

Returns:
object -

preferredSize 属性映射表

Inherited From:

getPreferredSizeRowCountLimit() → {number}

获取计算 preferredSize 时要限制的数据行数

Returns:
number -

限制行数

getPropertyValue(name) → {any}

取组件的某个属性的原始值;
不要直接去取私有变量,例如 padding,不要直接取 _padding 私有变量,而是应该使用此函数取值;
此函数取值顺序:
先取 _padding 私有变量
如果为 undefind,再去取样式表中取值
如果为 undefied,再取 __padding 私有变量

Parameters:
Name Type Description
name string

属性名

Returns:
any -

属性值

Inherited From:
Example
// 这段代码演示了覆盖 getPadding 函数,先取出旧的 padding,再 +2 并返回
button.getPadding = function() {
	var oldPadding = this.getPropertyValue('padding');
	oldPadding += 2;
	return oldPadding;
}

getRadioOffIcon() → {string|object}

获取非选中状态的单选图标,可以是颜色或者图片等

Returns:
string | object -

图标

getRadioOffIconDrawable() → {ht.ui.drawable.Drawable}

获取非选中状态的单选图标的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

图标

getRadioOnIcon() → {string|object}

获取选中状态的单选图标,可以是颜色或者图片等

Returns:
string | object -

图标

getRadioOnIconDrawable() → {ht.ui.drawable.Drawable}

获取选中状态的单选图标的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

图标

getRootCanvas() → {HTMLCanvasElement}

获取根 Canvas,这个 Canvas 用来绘制背景、边框、内容等

Returns:
HTMLCanvasElement -

Canvas DOM 对象

Inherited From:

getRootContext(dom) → {CanvasRenderingContext2D}

获取默认的 canvas 画布的画笔对象,或者获取参数 DOM 对象的画笔;
此函数在绘制背景、边框和自定义组件的情况下经常使用

Parameters:
Name Type Attributes Description
dom HTMLElement <optional>

指定目标 DOM,通常是个 canvas 类型的 DOM 对象

Returns:
CanvasRenderingContext2D -

画笔对象

Inherited From:

getRootData() → {ht.Data}

获取根节点,默认为空,从DataModel#getRoots() 的对象开始展示

Returns:
ht.Data -

根节点

getRowBackground() → {string|object}

获取行背景;可以是颜色或者图片等

Returns:
string | object -

背景

getRowBackgroundDrawable() → {ht.ui.drawable.Drawable}

获取行背景的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

背景

getRowDatas() → {ht.List}

获取当前显示的数据元素集合,该集合已被排序和过滤

Returns:
ht.List

getRowHeight() → {number}

获取行高

Returns:
number -

行高

getRowHeightFunc() → {Object}

获取行高函数,函数内可以根据不同的数据元素返回不同的高度值

Returns:
Object -

行高函数

getRowIndent() → {number}

获取行缩进值;注意和 getIndent 的区别:rowIndent 控制所有行的缩进,而 indent 一般用于控制子行相对于父行的缩进

Returns:
number -

缩进值

getRowIndex(data) → {number}

获取数据元素的索引

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
number -

索引值

getRowLineColor() → {string}

获取行线颜色

Returns:
string -

颜色值

getRowSize() → {number}

返回总行数

Returns:
number -

行数

getScrollBarActiveSize() → {number}

获取滚动条感应区域的大小

Returns:
number -

滚动条感应区域的大小

getScrollBarColor() → {string}

获取滚动条颜色

Returns:
string -

颜色值

getScrollBarMinLength() → {number}

获取滚动条最小长度

Returns:
number -

滚动条最小长度

getScrollBarMode() → {string}

获取滚动条模式,支持 'on'|'off'|'auto'

Returns:
string -

滚动条模式

getScrollBarSize() → {number}

获取滚动条大小(横向滚动条的高度,纵向滚动条的宽度)

Returns:
number -

滚动条大小

getScrollBarTimeout() → {number}

获取滚动条显示时间,超过时间后滚动条将隐藏

Returns:
number -

滚动条显示时间

getScrollRect() → {Object}

获取滚动范围,即内容区域

Returns:
Object -

内容区域,格式为:{x: x, y: y, width: width, height: height}

getSelectableFunc() → {Object}

获取选择过滤器函数

Returns:
Object -

选择过滤器函数

getSelectCollapseIcon() → {string|object}

获取 select 状态的合并图标,可以是颜色或者图片等

Returns:
string | object -

图标

getSelectCollapseIconDrawable() → {ht.ui.drawable.Drawable}

获取 select 状态的合并图标的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

图标

getSelectExpandIcon() → {string|object}

获取 select 状态的展开图标,可以是颜色或者图片等

Returns:
string | object -

图标

getSelectExpandIconDrawable() → {ht.ui.drawable.Drawable}

获取 select 状态的展开图标的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

图标

getSelectionModel() → {ht.SelectionModel}

获取选中模型

getSelectLabelColor() → {string}

获取选中文本的颜色

Returns:
string -

颜色值

getSelectRowBackground() → {string|object}

获取行选中背景;可以是颜色或者图片等

Returns:
string | object -

背景

getSelectRowBackgroundDrawable() → {ht.ui.drawable.Drawable}

获取行选中背景的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

背景

getSortFunc() → {Object}

获取排序函数

Returns:
Object -

排序函数

getStartRowIndex() → {number}

获取当前可见区域的起始行索引

Returns:
number -

索引值

getStyle() → {string}

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

Returns:
string -

样式名

Inherited From:

getStyleProperties() → {object}

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

Returns:
object -

样式属性映射表

Inherited From:

getStyleValue(property) → {any}

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

Parameters:
Name Type Description
property string

属性名

Returns:
any -

样式值

Inherited From:

getToggleIconDrawable(data) → {ht.ui.drawable.Drawable}

根据参数 data 的状态,返回相应的 toggle 图标(expandIconDrawable 或 collapseIconDrawable)

Parameters:
Name Type Description
data ht.Data

节点对象

Returns:
ht.ui.drawable.Drawable -

图标

getToolTip(e) → {string}

获取工具提示文本内容,默认取出鼠标下的数据元素 data,然后返回 data.getToolTip()

Parameters:
Name Type Description
e object

事件对象

Returns:
string -

工具提示文本内容

Overrides:

getTranslateX() → {number}

获取水平滚动值

Returns:
number -

水平滚动值

getTranslateY() → {number}

获取垂直滚动值

Returns:
number -

垂直滚动值

getUncheckIcon() → {string|object}

获取非选中状态的多选图标,可以是颜色或者图片等

Returns:
string | object -

图标

getUncheckIconDrawable() → {ht.ui.drawable.Drawable}

获取非选中状态的多选图标的 Drawable 对象

Returns:
ht.ui.drawable.Drawable -

图标

getView() → {HTMLElement}

获取组件最根层的 div

Returns:
HTMLElement -

组件 div

Inherited From:

getViewPoint(event) → {Object}

获取组件坐标点;从组件的左上角开始计算

Parameters:
Name Type Description
event object

交互事件对象(如鼠标事件对象)

Returns:
Object -

组件坐标点,包含 x、y 坐标

Inherited From:

getViewRect() → {Object}

获取视窗范围,即可视区域

Returns:
Object -

可见区域,格式为:{x: x, y: y, width: width, height: height}

getVisibleFunc() → {Object}

获取可见过滤器函数

Returns:
Object -

可见过滤器函数

getWidth() → {number}

获取组件的宽度

Returns:
number -

组件宽度

Inherited From:

getX() → {number}

获取组件的 x 坐标

Returns:
number -

x 坐标

Inherited From:

getY() → {number}

获取组件的 y 坐标

Returns:
number -

y 坐标

Inherited From:

getZIndex() → {number}

获取组件的堆叠顺序

Returns:
number -

堆叠顺序

Inherited From:

getZoom() → {number}

获取缩放值

Returns:
number -

缩放值

Inherited From:

getZoomAnchor() → {Array.<number>}

获取缩放锚点

Returns:
Array.<number> -

锚点数组

Inherited From:

handleDrop(dragEvent, datas, refType, refData) → {void}

处理拖拽数据

如果数据来自自身,则调整节点顺序
如果数据来自其它 List,则将节点移动到本组件中(其它列表中删除)
如果来自其它类型的组件,需要重写此函数处理

Parameters:
Name Type Description
dragEvent Object
datas ht.Data | Array.<ht.Data>

节点列表或拖拽数据

refType string

拖拽目标相对在 refData 的位置(up、down、parent、append),一般无需关心此参数

refData ht.Data

拖拽目标相对定位的节点,一般无需关心此参数

Returns:
void

handleSelect(e, data) → {void}

当用户点击鼠标时,会调用此函数将数据行选中;可重写此函数实现选中过滤功能,比如点击在某些区域不要选中

Parameters:
Name Type Description
e MouseEvent | TouchEvent

鼠标事件对象

data ht.Data

要选中的数据行

Returns:
void

hasContentCanvas() → {boolean}

判断组件是否有私有 canvas

Returns:
boolean -

组件是否有私有 canvas

Inherited From:

hasFocus() → {boolean}

判断焦点是否在组件上

Returns:
boolean -

焦点是否在组件上

Inherited From:

hidePopover() → {void}

隐藏弹框组件

Returns:
void
Inherited From:

initView(canvas) → {void}

初始化组件的 DOM 结构

Parameters:
Name Type Attributes Description
canvas boolean <optional>

是否创建一个私有的 canvas 用来绘制私有内容,一般情况下在默认的 canvas 中绘制就可以,不需要此参数

Returns:
void
Inherited From:

invalidate(forceLayoutChildren) → {void}

使组件无效化

Parameters:
Name Type Attributes Description
forceLayoutChildren boolean <optional>

是否强制刷新子组件(即使子组件没有无效标记)

Returns:
void
Inherited From:

invalidateDOM() → {void}

设置重新布局 DOM 标记并调用 invalidate, 组件下次刷新时会强制更新 DOM

Returns:
void
Inherited From:

invalidateModel() → {void}

无效模型,下次刷新时会重新构建 rowDatas

Returns:
void

isAutoMakeVisible() → {boolean}

选中数据元素时,是否自动平移组件以确保该元素出现在可见区域内

Returns:
boolean

isChildrenSortable(parent) → {boolean}

判断是否允许对数据元素的子元素排序,默认返回 true,可重写屏蔽孩子排序

Parameters:
Name Type Description
parent ht.Data

数据元素

Returns:
boolean -

是否允许排序

isCloseToHScrollBar(e) → {void}

事件的坐标是否接近水平滚动条(接近的范围由 scrollBarActiveSize 决定)

Parameters:
Name Type Description
e MouseEvent | TouchEvent

鼠标或 Touch 事件对象

Returns:
void

isCloseToVScrollBar(e) → {void}

事件的坐标是否接近垂直滚动条(接近的范围由 scrollBarActiveSize 决定)

Parameters:
Name Type Description
e MouseEvent | TouchEvent

鼠标或 Touch 事件对象

Returns:
void

isDataEditable(e, data) → {boolean}

判断数据元素是否可编辑,可重写自定义

Parameters:
Name Type Attributes Description
e object

交互事件

data ht.Data <optional>

数据元素

Returns:
boolean -

是否可编辑

isDescendantOf(viewGroup) → {boolean}

判断当前组件是否是参数容器的子孙组件

Parameters:
Name Type Description
viewGroup ht.ui.ViewGroup

容器

Returns:
boolean
Inherited From:

isDisabled() → {boolean}

组件是否被禁用

Returns:
boolean -

是否被禁用

Inherited From:

isDragEnabled() → {boolean}

是否启用拖拽

Returns:
boolean -

是否启用拖拽

isDraggable(data, selection, e) → {boolean}

判断节点是否可以拖动;默认返回 true(即所有的节点都可以拖动),可重写将某些节点设为不可拖动

Parameters:
Name Type Description
data ht.Data

要拖动的节点

selection ht.List

当前选中的节点

e object

DOM 事件对象

Returns:
boolean -

节点是否可以拖动

isDropEnabled() → {boolean}

是否接受拖拽

Returns:
boolean -

是否接受拖拽

isEditable() → {boolean}

判断数据元素是否可编辑

Returns:
boolean -

是否可编辑

isEditing() → {boolean}

是否正在编辑数据

Returns:
boolean -

正在编辑数据

isExpanded(data) → {boolean}

判断数据元素是否展开

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
boolean -

是否展开

isFocusable() → {boolean}

组件是否可以获取焦点

Returns:
boolean -

是否可获取焦点

Inherited From:

isHScrollable() → {boolean}

判断组件是否可以水平滚动(即 scrollRect.width > viewRect.width)

Returns:
boolean -

是否可以水平滚动

isIndeterminateSelected(data) → {boolean}

判断数据元素是否处于半选中状态

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
boolean -

是否被选中

isInDOM() → {boolean}

判断组件是否在 DOM 树中

Returns:
boolean -

组件是否在 DOM 树中

Inherited From:

isMaxSizeSet() → {boolean}

判断 maxSize 是否被设置(如果为 true, 组件不再调用 figureMaxSize 自动计算)

Returns:
boolean -

maxSize 是否被设置

Inherited From:

isMinSizeSet() → {boolean}

判断 minSize 是否被设置(如果为 true, 组件不再调用 figureMinSize 自动计算)

Returns:
boolean -

minSize 是否被设置

Inherited From:

isPannable() → {boolean}

是否允许拖拽平移

Returns:
boolean -

是否允许拖拽平移

isPreferredSizeSet() → {boolean}

判断 preferredSize 是否被设置(如果为 true, 组件不再调用 figurePreferredSize 自动计算)

Returns:
boolean -

preferredSize 是否被设置

Inherited From:

isRedrawOnFocus() → {boolean}

判断组件获取或失去焦点时,是否重绘自身

Returns:
boolean -

是否重绘自身

Inherited From:

isRootVisible() → {boolean}

判断根节点是否可见

Returns:
boolean

isRowLineVisible() → {boolean}

判断行线是否可见,默认为 true

Returns:
boolean -

行线是否可见

isSelectable(data) → {boolean}

判断数据元素是否可被选中

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
boolean -

是否可被选中

isSelected(data) → {boolean}

判断数据元素是否被选中

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
boolean -

是否被选中

isSelectedById(id) → {boolean}

根据 id 判断数据元素是否被选中

Parameters:
Name Type Description
id string | number

数据元素 id

Returns:
boolean -

是否被选中

isSelectionModelShared() → {boolean}

当前组件是否共享选中模型

Returns:
boolean

isSelfViewEvent(event) → {boolean}

判断鼠标事件是否发生在组件自身上,例如容器的 div 上监听到一个原生的鼠标点击事件,此事件可能来自容器,也可能来自子组件的冒泡传播;
如果自定义组件,并且改变了组件的 DOM 结构,需要重写此函数

Parameters:
Name Type Description
event object

事件对象

Returns:
boolean -

事件是否发生在自身 DOM 上

Inherited From:

isStyleProperty(property) → {boolean}

判断属性是否是样式属性

Parameters:
Name Type Description
property string

属性名

Returns:
boolean -

是否是样式属性

Inherited From:

isToolTipEnabled() → {boolean}

是否启用工具提示

Returns:
boolean -

是否启用工具提示

Overrides:

isVisible(data) → {boolean}

判断数据元素是否可见;如果参数为空,表示当前组件是否可见

Parameters:
Name Type Attributes Description
data ht.Data <optional>

数据元素

Returns:
boolean -

是否可见

Overrides:

isVScrollable() → {boolean}

判断组件是否可以垂直滚动(即 scrollRect.height > viewRect.height)

Returns:
boolean -

是否可以垂直滚动

iv(forceLayoutChildren) → {void}

使组件无效化

Parameters:
Name Type Attributes Description
forceLayoutChildren boolean <optional>

是否强制刷新子组件(即使子组件没有无效标记)

Returns:
void
Inherited From:

ivm() → {void}

无效模型,下次刷新时会重新构建 rowDatas,invalidateModel 的缩写

Returns:
void

layoutDOM(x, y, width, height) → {void}

重新调整组件的 DOM 结构布局,设置坐标、宽高以及内边距等

Parameters:
Name Type Attributes Description
x number

组件的 x 坐标

y number <optional>

组件的 y 坐标

width number <optional>

组件宽度

height number <optional>

组件高度

Returns:
void
Inherited From:

makeDisabled(disabled, disabledDiv) → {void}

设置禁用组件样式,默认会将 disabedDiv 插入到组件内部

Parameters:
Name Type Description
disabled boolean

是否禁用

disabledDiv HTMLElement

遮罩 div

Returns:
void
Inherited From:

makeVisible(data) → {void}

平移组件以确保数据元素在可见区域内

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
void

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

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

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope object <optional>

函数域

ahead boolean <optional>

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

Returns:
void
Inherited From:

off(name, listener, scope) → {void}

删除事件监听

Parameters:
Name Type Attributes Description
name string

属性名,p: 开头(如 p:value),表示监听属性变化事件;d: 开头(如 d:mousedown) 表示监听原生 DOM 事件;其它情况当作 viewEvent 处理

listener Object
scope object <optional>

监听器函数域

Returns:
void
Inherited From:

on(name, listener, scope, ahead) → {void}

增加事件监听

Parameters:
Name Type Attributes Description
name string

属性名,p: 开头(如 p:value),表示监听的是属性变化事件;d: 开头(如 d:mousedown) 表示监听原生 DOM 事件;其它情况当作 viewEvent 处理

listener Object
scope object <optional>

监听器函数域

ahead boolean <optional>

如果是 DOM 事件,表示 useCapture;否则表示是否将当前监听器插入到监听器列表开头

Returns:
void
Inherited From:

onCollapsed(data) → {void}

合并数据元素时调用,可重写做后续处理

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
void

onDataClicked(data, e) → {void}

数据元素被点击时回调,可重写做后续处理

Parameters:
Name Type Description
data ht.Data

被点击的数据元素

e object

事件对象

Returns:
void

onDataDoubleClicked(data, e) → {void}

数据元素被双击时回调,可重写做后续处理

Parameters:
Name Type Description
data ht.Data

双击的数据元素

e object

事件对象

Returns:
void

onExpanded(data) → {void}

展开数据元素时调用,可重写做后续处理

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
void

onOnce(name, listener, scope, ahead) → {void}

增加一次性事件监听(监听器执行一次,然后马上被删除)

Parameters:
Name Type Attributes Description
name string

属性名,p: 开头(如 p:value),表示监听属性变化事件;d: 开头(如 d:mousedown) 表示监听原生 DOM 事件;其它情况当作 viewEvent 处理

listener Object
scope object <optional>

监听器函数域

ahead boolean <optional>

如果是 DOM 事件,表示 useCapture;否则表示是否将当前监听器插入到监听器列表开头

Returns:
void
Inherited From:

processValidate() → {void}

绘制组件边框、背景及调用 validateImpl;此函数在 validate 中被调用

Returns:
void
Inherited From:

redraw(forceLayoutChildren) → {void}

设置所有的重绘标记包括重绘 canvas 标记、重绘 border 标记和重新布局 DOM 标记 并调用 iv

Parameters:
Name Type Attributes Description
forceLayoutChildren boolean <optional>

是否强制刷新子组件(即使子组件没有无效标记)

Returns:
void
Inherited From:

removeBottomPainter(painter) → {void}

删除底层绘制器

Parameters:
Name Type Description
painter Object

绘制器函数

Returns:
void

removeFromDOM() → {void}

将组件从页面的 DOM 树中删除;如果要删除通过 addToDOM 添加到页面的组件,应使用此函数,以免内存泄漏

Returns:
void
Inherited From:

removePropertyChangeListener(listener, scope) → {void}

删除属性事件变化监听器

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope object <optional>

函数域

Returns:
void
Inherited From:

removeSelection() → {void}

删除所有选中的数据元素

Returns:
void

removeStyleProperty(property) → {void}

删除样式属性,将参数属性从样式属性列表中移除

Parameters:
Name Type Description
property string

属性名

Returns:
void
Inherited From:

removeTopPainter(painter) → {void}

删除顶层绘制器

Parameters:
Name Type Description
painter Object

绘制器函数

Returns:
void

removeViewListener(listener, scope) → {void}

删除 View 事件监听器

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope object <optional>

监听器函数域

Returns:
void
Inherited From:

requestFocus() → {void}

请求获取焦点

Returns:
void
Inherited From:

resetTranslate() → {any}

Returns:
any
Inherited From:

scrollToIndex(index) → {void}

平移(滚动)组件至指定的行

Parameters:
Name Type Description
index number

行索引

Returns:
void

selectAll() → {void}

选中所有数据元素

Returns:
void

selectNext(view) → {void}

选中指定数据元素的后一个数据元素

Parameters:
Name Type Description
view ht.Data
Returns:
void

selectPrevious(view) → {void}

选中指定数据元素的前一个数据元素

Parameters:
Name Type Description
view ht.Data
Returns:
void

set(properties) → {void}

批量设置组件属性

Parameters:
Name Type Description
properties object

格式示范:{ background: 'red', border: new ht.ui.border.LineBorder(1, 'red'), padding: 20 }

Returns:
void
Inherited From:

setAutoMakeVisible(v) → {void}

设置当选中数据元素,是否自动平移(滚动)组件以确保该数据元素出现在可见区域内

Parameters:
Name Type Description
v boolean

是否自动显示选中的数据元素

Returns:
void

setBackground(background) → {void}

设置组件的背景,可以是颜色或者图片等;此值最终会被转换为 Drawable 对象

Parameters:
Name Type Description
background string | object

颜色值、图片名、图片路径、矢量对象等

Returns:
void
Inherited From:

setBackgroundDrawable(drawable) → {void}

设置组件的背景 Drawable 对象;组件渲染时优先使用此 Drawable 对象,如果为空,再用 background 转换

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

Drawable 对象

Returns:
void
Inherited From:

setBorder(border) → {void}

设置组件的边框

Parameters:
Name Type Description
border ht.ui.border.Border

组件边框

Returns:
void
Inherited From:

setBorderRadius(radius) → {void}

设置 CSS 边框圆角

Parameters:
Name Type Description
radius number | Array.<number>

边框圆角;如果是数组,则表示[左上角圆角、右上角圆角、右下角圆角、左下角圆角]

Returns:
void
Inherited From:

setBoxShadow(boxShadow) → {void}

设置 CSS 阴影值

Parameters:
Name Type Description
boxShadow string

阴影值

Returns:
void
Inherited From:

setCheckIcon(icon) → {void}

设置选中状态的多选图标,可以是颜色或者图片等

Parameters:
Name Type Description
icon string | object

图标

Returns:
void

setCheckIconDrawable(drawable) → {void}

设置选中状态的多选图标的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

图标

Returns:
void

setCheckMode(checkMode) → {void}

设置 check 模式

Parameters:
Name Type Description
checkMode string

null:默认值,不启用 check 选择模式
default:check 模式的默认选择方式,即单击选中或取消选中,只影响当前点击中的数据元素
children:该 check 模式将同时影响点击中的数据元素及其孩子元素
descendant:该 check 模式将同时影响点击中的数据元素及其所有子孙元素
all:该 check 模式将同时影响点击中的数据元素及其所有父辈和子孙元素

Returns:
void

setCollapseIcon(icon) → {void}

设置合并图标图标,可以是颜色或者图片等

Parameters:
Name Type Description
icon string | object

图标

Returns:
void

setCollapseIconDrawable(drawable) → {void}

设置合并图标的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

图标

Returns:
void

setContextMenu(contextMenu) → {void}

设置绑定的右键菜单

Parameters:
Name Type Description
contextMenu ht.ui.ContextMenu

右键菜单

Returns:
void
Inherited From:

setCursor(cursor) → {void}

设置鼠标样式(CSS 格式)

Parameters:
Name Type Description
cursor string

鼠标样式

Returns:
void
Inherited From:

setDataModel(dataModel) → {void}

设置绑定的数据模型

Parameters:
Name Type Description
dataModel ht.DataModel

数据模型

Returns:
void

setDatas(datas) → {void}

将参数 datas 转成 ht.Data 类型并添加到 dataModel 中

Parameters:
Name Type Description
datas Array.<object>

格式:[{name: 'data1'}, {name: 'data2'}] 或者 { name: 'Root', children: [ {name: 'Child1'} ]}

Returns:
void
Overrides:

setDataValue(value, data) → {void}

结束编辑后调用此函数将编辑器的值赋到节点属性中,默认修改节点的 name 属性,可重写此函数设置到自定义的属性上

Parameters:
Name Type Description
value any

data ht.Data

正在编辑的节点

Returns:
void

setDisabled(disabled) → {void}

设置组件是否被禁用

Parameters:
Name Type Description
disabled string | boolean

是否被禁用;如果为字符串,组件除了被禁用,disabledDiv 还会被设置相应的 CSS 样式名

Returns:
void
Inherited From:

setDisabledBackground(background) → {void}

设置组件被禁用时,遮罩的背景;这个值被设置到遮罩 div 的 background 样式上,因此可以使用所有 CSS 支持的 background 类型

Parameters:
Name Type Description
background string

遮罩背景

Returns:
void
Inherited From:
Example
// 设置一个居中的 gif 图片 作为背景
view.setDisabledBackground('url(a.gif) no-repeat 50% 50%');

setDragEnabled(enabled) → {void}

设置是否启用拖拽

Parameters:
Name Type Description
enabled boolean

是否启用拖拽

Returns:
void

setDropEnabled(enabled) → {void}

设置是否接受拖拽

Parameters:
Name Type Description
enabled boolean

是否接受拖拽

Returns:
void

setDropLineColor(color) → {void}

设置拖拽提示线颜色

Parameters:
Name Type Description
color string

颜色值

Returns:
void

setEditable(editable) → {void}

设置是否可编辑

Parameters:
Name Type Description
editable boolean

是否可编辑

Returns:
void

setEditorClass(editorClass) → {void}

设置编辑器

Parameters:
Name Type Description
editorClass string | function

编辑器类或类名

Returns:
void

setEditorValidator(validator) → {void}

设置编辑器验证函数

Parameters:
Name Type Description
validator Object

数据验证函数,格式为:function(olodValue, newValue, data, [column], editor, editorView, endEdit) {}
其中最后一个参数 endEdit 表示是否要结束编辑,为 false 表示用户不打算结束编辑(比如假设 StringEditor 中文本框的 instant 为 true,每输入一个字符都会用 validator 验证且 endEdit 参数为 fale)
返回值为 true 表示 newValue 格式合法
返回值为 false 表示 newValue 格式不合法,同时阻止默认的停止编辑行为(让用户继续编辑)
返回值为 end 表示 newValue 不合法,同时结束编辑(仅在 endEdit 为 true 时起作用)

Returns:
void

setErrorMessage(message, params) → {ht.ui.Popover}

设置错误信息

Parameters:
Name Type Description
message string

错误信息

params object

ErrorMessagePopover 组件的属性配置,如 { placements: ['top'] } 将错误提示显示在上方

Returns:
ht.ui.Popover -

错误提示组件

Inherited From:

setExpandIcon(icon) → {void}

设置展开图标图标,可以是颜色或者图片等

Parameters:
Name Type Description
icon string | object

图标

Returns:
void

setExpandIconDrawable(drawable) → {void}

设置展开图标的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

图标

Returns:
void

setFocusable(focusable) → {void}

设置组件是否可以获取焦点

Parameters:
Name Type Description
focusable boolean

是否可获取焦点

Returns:
void
Inherited From:

setFocusData(data) → {void}

在 check 模式下,点击一个数据元素使其背景变化但并不选中它,此时它处于 focus 状态
此函数设置 focus 状态数据元素

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
void

setFocusDataById(id) → {void}

根据 id 设置 focus 的数据元素

Parameters:
Name Type Description
id string | number

数据元素的id

Returns:
void

setFocusRowBackground(background) → {void}

设置 check 模式下,点击行的背景;可以是颜色或者图片等

Parameters:
Name Type Description
background string | object

背景

Returns:
void

setFocusRowBackgroundDrawable(drawable) → {void}

设置 check 模式下,点击行背景的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

背景

Returns:
void

setHeight(height) → {void}

设置组件的高度

Parameters:
Name Type Description
height number

组件高度

Returns:
void
Inherited From:

setHoverCollapseIcon(icon) → {void}

设置 hover 状态的合并图标图标,可以是颜色或者图片等

Parameters:
Name Type Description
icon string | object

图标

Returns:
void

setHoverCollapseIconDrawable(drawable) → {void}

设置 hover 状态的合并图标的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

图标

Returns:
void

setHoverExpandIcon(icon) → {void}

设置 hover 状态的展开图标图标,可以是颜色或者图片等

Parameters:
Name Type Description
icon string | object

图标

Returns:
void

setHoverExpandIconDrawable(drawable) → {void}

设置 hover 状态的展开图标的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

图标

Returns:
void

setHoverLabelColor(color) → {void}

设置 hover 状态下的文字颜色

Parameters:
Name Type Description
color string

颜色值

Returns:
void

setHoverRowBackground(background) → {void}

设置 hover 状态下的行背景;可以是颜色或者图片等

Parameters:
Name Type Description
background string | object

背景

Returns:
void

setHoverRowBackgroundDrawable(drawable) → {void}

设置 hover 状态下行选中背景的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

背景

Returns:
void

setIconGap(gap) → {void}

设置图标之间的距离

Parameters:
Name Type Description
gap number

距离值

Returns:
void

setIconHeight(height) → {void}

设置数据元素的图标高度

Parameters:
Name Type Description
height number

高度值

Returns:
void

setIconStretch(stretch) → {void}

设置 icon 拉伸方式

Parameters:
Name Type Description
stretch string

拉伸方式:uniform|centerUniform|center|fill|null

Returns:
void

setIconWidth(width) → {void}

设置数据元素的图标宽度

Parameters:
Name Type Description
width number

宽度值

Returns:
void

setId(id) → {void}

设置唯一标识,根据标识可快速查找到组件

Parameters:
Name Type Description
id string | number

唯一标识

Returns:
void
Inherited From:

setIndent(indent) → {void}

设置不同层次的缩进值

Parameters:
Name Type Description
indent number

缩进值

Returns:
void

setIndeterminateIcon(icon) → {void}

设置半选中状态的图标,可以是颜色或者图片等

Parameters:
Name Type Description
icon string | object

图标

Returns:
void

setIndeterminateIconDrawable(drawable) → {void}

设置半选中状态的图标的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

图标

Returns:
void

setLabelColor(color) → {void}

设置数据元素的文本颜色

Parameters:
Name Type Description
color string

颜色值

Returns:
void

setLabelFont(font) → {void}

设置数据元素的文字字体

Parameters:
Name Type Description
font string

字体

Returns:
void

setLayoutParams(layoutParams, value) → {void}

设置布局参数;这个函数有两种使用方式:

view.setLayoutParams({ marginLeft: 20, marginRight: 20 }) 指定布局参数对象
view.setLayoutParams('marginLeft', 20) 传入两个参数设置布局参数对象中的属性

Parameters:
Name Type Attributes Description
layoutParams string | object <optional>

布局参数对象或 key

value any <optional>

布局参数值

Returns:
void
Inherited From:

setLoader(loader) → {void}

设置延迟加载器

Parameters:
Name Type Description
loader Object
Returns:
void
Example
// 示例:
treeView.setLoader({
	load: function(data) {
		// 展开此数据元素时回调,可用于加载子节点
	},
	isLoaded: function(data) {
		// 返回子结点是否已加载
	}
});

setMargin(margin) → {void}

设置组件外边距,如果是数字,说明四边使用相同的外边距;如果是数组,则格式为:[上边距, 右边距, 下边距, 左边距]

Parameters:
Name Type Description
margin number | Array.<number>

外边距;父容器布局时,会动态将此参数填充到 layoutParams 中(优先级低于 layoutParams,如果 layoutParams 参数中没有指定相应的 margin 才会从组件上取值)

Returns:
void
Inherited From:

setMaxSize(width, height) → {void}

计算 maxSize,maxSize 表示组件的最大尺寸,布局器布局时会考虑此尺寸,尽量不让组件的布局宽高大于此尺寸;
如果设置过 maxSize,就不会再调用 figureMaxSize 计算;
如果要清空设置过的 maxSize,可以调用 setMaxSize(undefined, undefined);

Parameters:
Name Type Description
width number

最大宽度

height number

最大高度

Returns:
void
Inherited From:

setMinSize(width, height) → {void}

计算 minSize,minSize 表示组件的最小尺寸,布局器布局时会考虑此尺寸,尽量不让组件的布局宽高小于此尺寸;
如果设置过 minSize,就不会再调用 figureMinSize 计算;
如果要清空设置过的 minSize,可以调用 setMinSize(undefined, undefined);

Parameters:
Name Type Description
width number

最小宽度

height number

最小高度

Returns:
void
Inherited From:

setPadding(padding) → {void}

设置组件内边距,如果是数字,说明四边使用相同的内边距;如果是数组,则格式为:[上边距, 右边距, 下边距, 左边距]

Parameters:
Name Type Description
padding number | Array.<Number>

内边距

Returns:
void
Inherited From:

setPannable(pannable) → {void}

设置是否允许拖拽平移

Parameters:
Name Type Description
pannable boolean

是否允许拖拽平移

Returns:
void

setPopover(popover, trigger) → {void}

设置弹框组件

Parameters:
Name Type Attributes Description
popover string | ht.ui.Popover

弹框组件,如果参数是字符串,则用这段文本作为弹框内容(内部自动创建 Popover 和 HtmlView 组件)

trigger string <optional>

触发器,值为:click|hover

Returns:
void
Inherited From:

setPopoverPlacements(placements) → {void}

设置弹框组件的弹出位置

Parameters:
Name Type Description
placements Array.<string>

位置数组

Returns:
void
Inherited From:

setPopoverTrigger(trigger) → {void}

设置弹框触发器

Parameters:
Name Type Description
trigger string

弹框触发器,值为:click|hover

Returns:
void
Inherited From:

setPreferredSize(width, height) → {void}

设置 preferredSize,preferredSize 表示组件自身最合适的尺寸,布局器布局时会考虑此尺寸作为布局尺寸;
如果设置过 preferredSize,就不会再调用 figurePreferredSize 计算;
如果要清空设置过的 preferredSize,可以调用 setPreferredSize(undefined, undefined);

Parameters:
Name Type Description
width number

首选宽度

height number

首选高度

Returns:
void
Inherited From:

setPreferredSizeRowCountLimit(limit) → {void}

设置计算 preferredSize 时要限制的数据行数;例如参数为 10,表示根据前 10 行数据的高度计算 preferredHeight

Parameters:
Name Type Description
limit number

限制行数

Returns:
void

setPropertyValue(name, value) → {void}

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

Parameters:
Name Type Description
name string

属性名

value any

属性值

Returns:
void
Inherited From:

setRadioOffIcon(icon) → {void}

设置非选中状态的单选图标,可以是颜色或者图片等

Parameters:
Name Type Description
icon string | object

图标

Returns:
void

setRadioOffIconDrawable(drawable) → {void}

设置非选中状态的单选图标的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

图标

Returns:
void

setRadioOnIcon(icon) → {void}

设置选中状态的单选图标,可以是颜色或者图片等

Parameters:
Name Type Description
icon string | object

图标

Returns:
void

setRadioOnIconDrawable(drawable) → {void}

设置选中状态的单选图标的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

图标

Returns:
void

setRedrawOnFocus(redrawOnFocus) → {void}

设置组件获取或失去焦点时,是否重绘自身

Parameters:
Name Type Description
redrawOnFocus boolean

是否重绘自身

Returns:
void
Inherited From:

setRootData(root) → {void}

指定根节点,默认为空,从 DataModel#getRoots() 的对象开始展示

Parameters:
Name Type Description
root ht.Data

根节点

Returns:
void

setRootVisible(visible) → {void}

设置根节点是否可见

Parameters:
Name Type Description
visible boolean

是否可见

Returns:
void

setRowBackground(background) → {void}

设置行背景;可以是颜色或者图片等

Parameters:
Name Type Description
background string | object

背景

Returns:
void

setRowBackgroundDrawable(drawable) → {void}

设置行背景的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

背景

Returns:
void

setRowHeight(height) → {void}

设置行高

Parameters:
Name Type Description
height number

高度值

Returns:
void

setRowHeightFunc(func) → {void}

设置行高函数,函数内可以根据不同的数据元素返回不同的高度值

Parameters:
Name Type Description
func Object

行高函数

Returns:
void
Example
list.setRowHeightFunc(function(data) {
		if (data.getId() === 1) return 50;
		else return 24;
});

setRowIndent(rowIndent) → {void}

设置行缩进值;注意和 setIndent 的区别:rowIndent 控制所有行的缩进,而 indent 一般用于控制子行相对于父行的缩进

Parameters:
Name Type Description
rowIndent number

缩进值

Returns:
void

setRowLineColor(color) → {void}

设置行线颜色

Parameters:
Name Type Description
color string

颜色值

Returns:
void

setRowLineVisible(visible) → {void}

设置行线是否可见

Parameters:
Name Type Description
visible boolean

是否可见

Returns:
void

setScrollBarActiveSize(activeSize) → {void}

设置滚动条感应区域的大小

Parameters:
Name Type Description
activeSize number

滚动条感应区域的大小

Returns:
void

setScrollBarColor(color) → {void}

设置滚动条颜色

Parameters:
Name Type Description
color string

颜色值

Returns:
void

setScrollBarMinLength(length) → {void}

设置滚动条最小长度

Parameters:
Name Type Description
length number

滚动条最小长度

Returns:
void

setScrollBarMode(mode) → {void}

设置滚动条模式

Parameters:
Name Type Description
mode string

滚动条模式,可选值为:'on'|'off'|'auto'

Returns:
void

setScrollBarSize(size) → {void}

设置滚动条大小(横向滚动条的高度,纵向滚动条的宽度)

Parameters:
Name Type Description
size number

滚动条大小

Returns:
void

setScrollBarTimeout(timeout) → {void}

设置滚动条显示时间,超过时间后滚动条将隐藏

Parameters:
Name Type Description
timeout number

滚动条显示时间

Returns:
void

setSelectableFunc(func) → {void}

设置选择过滤器函数

Parameters:
Name Type Description
func Object

过滤器函数

Returns:
void

setSelectCollapseIcon(icon) → {void}

设置 select 状态的合并图标图标,可以是颜色或者图片等

Parameters:
Name Type Description
icon string | object

图标

Returns:
void

setSelectCollapseIconDrawable(drawable) → {void}

设置 select 状态的合并图标的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

图标

Returns:
void

setSelectExpandIcon(icon) → {void}

设置 select 状态的展开图标图标,可以是颜色或者图片等

Parameters:
Name Type Description
icon string | object

图标

Returns:
void

setSelectExpandIconDrawable(drawable) → {void}

设置 select 状态的展开图标的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

图标

Returns:
void

setSelectionModelShared(v) → {void}

设置组件是否共享选中模型

Parameters:
Name Type Description
v boolean

是否共享选中模型

Returns:
void

setSelectLabelColor(color) → {void}

设置选中状态文字颜色

Parameters:
Name Type Description
color string

颜色值

Returns:
void

setSelectRowBackground(background) → {void}

设置行选中背景;可以是颜色或者图片等

Parameters:
Name Type Description
background string | object

背景

Returns:
void

setSelectRowBackgroundDrawable(drawable) → {void}

设置行选中背景的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

背景

Returns:
void

setSortFunc(func) → {void}

设置排序函数

Parameters:
Name Type Description
func Object

排序函数

Returns:
void

setStyle(styleName) → {void}

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

Parameters:
Name Type Description
styleName string

样式名

Returns:
void
Inherited From:

setToolTipEnabled(enabled) → {void}

设置是否启用工具提示

Parameters:
Name Type Description
enabled boolean

是否启用工具提示

Returns:
void
Overrides:

setTranslate(translateX, translateY, anim) → {void}

水平滚动值增加 x,垂直滚动值增加 y

Parameters:
Name Type Attributes Description
translateX number

水平滚动值

translateY number <optional>

垂直滚动值

anim boolean <optional>

是否使用动画

Returns:
void

setTranslateX(translateX) → {void}

设置水平滚动值

Parameters:
Name Type Description
translateX number

水平滚动值

Returns:
void

setTranslateY(translateY) → {void}

设置垂直滚动值

Parameters:
Name Type Description
translateY number

垂直滚动值

Returns:
void

setUncheckIcon(icon) → {void}

设置非选中状态的多选图标,可以是颜色或者图片等

Parameters:
Name Type Description
icon string | object

图标

Returns:
void

setUncheckIconDrawable(drawable) → {void}

设置非选中状态的多选图标的 Drawable 对象

Parameters:
Name Type Description
drawable ht.ui.drawable.Drawable

图标

Returns:
void

setVisible(visible) → {void}

设置组件是否可见

Parameters:
Name Type Description
visible boolean

组件是否可见

Returns:
void
Inherited From:

setVisibleFunc(func) → {void}

设置可见过滤器

Parameters:
Name Type Description
func Object

过滤器函数

Returns:
void

setWidth(width) → {void}

设置组件的宽度

Parameters:
Name Type Description
width number

组件宽度

Returns:
void
Inherited From:

setX(x) → {void}

设置组件的 x 坐标

Parameters:
Name Type Description
x number

x 坐标

Returns:
void
Inherited From:

setY(y) → {void}

设置组件的 y 坐标

Parameters:
Name Type Description
y number

y 坐标

Returns:
void
Inherited From:

setZIndex(zIndex) → {void}

设置组件的堆叠顺序

Parameters:
Name Type Description
zIndex number

堆叠顺序

Returns:
void
Inherited From:

setZoom(zoom) → {void}

设置缩放

Parameters:
Name Type Description
zoom number

缩放值

Returns:
void
Inherited From:

setZoomAnchor(anchor) → {void}

设置缩放锚点

Parameters:
Name Type Description
anchor Array.<number>

横向和纵向锚点数组,如右上角为:[1, 0]

Returns:
void
Inherited From:

showHScrollBar() → {void}

显示水平滚动条

Returns:
void

showPopover() → {void}

显示弹框组件

Returns:
void
Inherited From:

showScrollBar() → {void}

显示滚动条,内部会调用 showVScrollBar() 和 showHScrollBar()

Returns:
void

showVScrollBar() → {void}

显示垂直滚动条

Returns:
void

sm() → {ht.SelectionModel}

获取选中模型,getSelectionModel的缩写

tearDownBorder(border, x, y, width, height, dom) → {void}

卸载边框;只有 CSS 类型的边框才需要此函数

Parameters:
Name Type Attributes Description
border ht.ui.border.Border <optional>

边框对象

x number <optional>

起点 x 坐标

y number <optional>

起点 y 坐标

width number <optional>

宽度

height number <optional>

高度

dom HTMLElement <optional>

指定绘制的目标 DOM

Returns:
void
Inherited From:

toggle(data) → {void}

展开或合并数据元素

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
void

toggleHitTest(e, data) → {boolean}

判断是否点击中了展开合并图标

Parameters:
Name Type Attributes Description
e object

事件对象

data ht.Data <optional>

数据元素

Returns:
boolean -

是否点击中展开合并图标

translate(x, y, anim) → {void}

水平滚动值增加 x,垂直滚动值增加 y

Parameters:
Name Type Attributes Description
x number

水平滚动值增量

y number <optional>

垂直滚动值增量

anim boolean <optional>

是否使用动画

Returns:
void

tx(value) → {number|void}

获取或设置水平滚动值

Parameters:
Name Type Attributes Description
value number <optional>

如果为空,相当于 getTranslateX();如果不为空,相当于 setTranslateX(value)

Returns:
number | void

ty(value) → {number|void}

获取或设置垂直滚动值

Parameters:
Name Type Attributes Description
value number <optional>

如果为空,相当于 getTranslateY();如果不为空,相当于 setTranslateY(value)

Returns:
number | void

ump(listener, scope) → {void}

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

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope object <optional>

函数域

Returns:
void
Inherited From:

validate() → {void}

重绘组件;此函数负责重新布局组件 DOM、设置层叠关系、加载需要的图片资源、派发 validate 事件等
如果自定义组件,不要重写此函数,而是重写 validateImpl 函数

Returns:
void
Inherited From:

validateImpl(x, y, width, height) → {void}

绘制组件内容;如果自定义组件,一般要重写此函数,通过 getRootContext() 获取画笔然后绘制

Parameters:
Name Type Attributes Description
x number <optional>

内容范围的 x 坐标

y number <optional>

内容范围的 y 坐标

width number <optional>

内容范围宽度

height number <optional>

内容范围高度

Returns:
void
Inherited From: