new TreeView(dataModel)
树形组件,以树形的方式呈现DataModel中Data数据的父子关系
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
dataModel |
ht.DataModel |
<optional> |
Methods
-
addBottomPainter(painter) → {void}
-
增加底层Painter
组件上提供Painter接口,开发者可以使用Canvas的画笔对象自由绘制任意形状,底层Painter绘制在组件最下面Parameters:
Name Type Description painter
painter | basePainterClass 可传递绘制函数或者对象。为对象时在 draw 属性上实现绘制函数
Returns:
voidExample
//Painter示例1: function MyBottomPainter() { } ht.Default.def(MyBottomPainter, Object, { draw: function (g) { g.save(); //draw... g.restore(); } }); TreeView.addBottomPainter(new MyBottomPainter()); //Painter示例2: var painter = function (g) { g.save(); //draw... g.restore(); } TreeView.addBottomPainter(painter);
-
addPropertyChangeListener(listener, scope, ahead) → {void}
-
增加自身属性变化事件监听器
Parameters:
Name Type Attributes Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
ahead
boolean <optional>
是否将当前监听器插入到监听器列表开头
Returns:
void -
addToDOM(parentNode) → {void}
-
将视图插入到 dom 中
Parameters:
Name Type Attributes Description parentNode
HTMLDivElement <optional>
父DOM
Returns:
void -
addTopPainter(painter) → {void}
-
增加顶层Painter
组件上提供Painter接口,开发者可以使用Canvas的画笔对象自由绘制任意形状,顶层Painter绘制在组件最上面Parameters:
Name Type Description painter
painter | basePainterClass 可传递绘制函数或者对象。为对象时在 draw 属性上实现绘制函数
Returns:
voidExample
//Painter示例1: function MyTopPainter() { } ht.Default.def(MyTopPainter, Object, { draw: function (g) { g.save(); //draw... g.restore(); } }); TreeView.addTopPainter(new MyTopPainter()); //Painter示例2: var painter = function (g) { g.save(); //draw... g.restore(); } TreeView.addTopPainter(painter);
-
addViewListener(listener, scope, ahead) → {void}
-
监听视图事件,如布局、刷新等
Parameters:
Name Type Attributes Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
ahead
boolean <optional>
是否将当前监听器插入到监听器列表开头
Returns:
void -
adjustTranslateX(value) → {number}
-
传入即将设置的水平平移值,返回最终设置值,可重载限制水平平移范围
Parameters:
Name Type Description value
number 原始水平平移值
Returns:
number -新的水平平移值
-
adjustTranslateY(value) → {number}
-
传入即将设置的垂直平移值,返回最终设置值,可重载限制垂直平移范围
Parameters:
Name Type Description value
number 原始垂直平移值
Returns:
number -新的垂直平移值
-
checkData(data) → {void}
-
切换节点 check 状态
Parameters:
Name Type Description data
ht.Data Returns:
void -
collapse(data) → {void}
-
合并data对象
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
void -
collapseAll() → {void}
-
合并所有对象
Returns:
void -
disableToolTip() → {void}
-
关闭ToolTip功能
Returns:
void -
dm() → {ht.DataModel}
-
获取数据模型,没有参数时相当于getDataModel的缩写
-
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) → {HTMLElement}
-
绘制行内容,可重载自定义,默认调用drawIcon和drawLabel,如果返回值为HTML元素,则使用HTML元素当作Renderer
Parameters:
Name Type Description g
CanvasRenderingContext2D 画笔对象
data
ht.Data 数据元素
selected
boolean 数据元素是否选中
x
number 左上角x坐标
y
number 左上角y坐标
width
number 绘制的宽度
height
number 绘制的高度
Returns:
HTMLElement -
drawRowBackground(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 -
enableToolTip() → {void}
-
启用ToolTip
Returns:
void -
expand(data) → {void}
-
展开data对象
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
void -
expandAll() → {void}
-
展开所有对象
Returns:
void -
getBodyColor(data) → {string}
-
获取数据元素icon的背景色,可重载自定义
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
string -颜色值,默认返回data.s('body.color')
-
getBorderColor(data) → {string}
-
获取数据元素icon的边框色,可重载自定义
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
string -颜色值,默认返回data.s('border.color')
-
getCheckIcon(data) → {string}
-
返回数据元素对应的check图标,可重载自定义check图标,该函数在checkMode模式下有效
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
string -
getCheckMode() → {string}
-
获取check模式
null:默认值,不启用check选择模式
default:check模式的默认选择方式,即单击选中或取消选中,只影响当前点击中的data对象
children:该check模式将同时影响点击中的data对象,以及其孩子对象
descendant:该check模式将同时影响点击中的data对象,以及其所有子孙对象
all:该check模式将同时影响点击中的data对象,以及其所有父辈和子孙对象Returns:
string -
getCollapseIcon() → {string}
-
获取toggle的关闭图标
Returns:
string -
getDataAt(pointOrEvent) → {ht.Data}
-
传入逻辑坐标点或者交互event事件参数,返回当前点下的数据元素
Parameters:
Name Type Description pointOrEvent
Object 逻辑坐标点或交互事件对象(如鼠标事件对象)
-
getDataModel() → {ht.DataModel}
-
获取绑定的数据模型
-
getEndRowIndex() → {number}
-
获取当前可见区域的结束行索引
Returns:
number -
getExpandIcon() → {string}
-
获取toggle的展开图标
Returns:
string -
getFocusData() → {ht.Data}
-
在checkMode模式下数据除了被选中有check状态外,还可以有被点击行的focus状态
此方法获取focus数据元素Returns:
ht.Data -
getHeight() → {number}
-
获取布局高度
Returns:
number -
getIcon(data) → {string}
-
获取data对象对应的icon图标,可重载自定义
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
string -
getIconWidth(data) → {number}
-
返回data对象对应的图标宽度,默认如果有图标则以indent值为宽度,可重载自定义
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
number -
getIndent(data) → {number}
-
获取indent缩进,该值一般当作图标的宽度
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
number -
getLabel(data) → {string}
-
获取data对象显示的文字,默认返回data.toLabel(),可重载自定义
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
string -
getLabelColor(data) → {string}
-
获取data对象的文本颜色,可重载自定义
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
string -
getLabelFont(data) → {string}
-
获取data对象的文本字体,可重载自定义
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
string -
getLabelSelectColor() → {string}
-
获取选中文本的颜色
Returns:
string -
getLevel(data) → {number}
-
获取当前data的缩减层次,一般结合indent参数用于绘制
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
number -
getLoader() → {Object}
-
获取延迟加载器
Returns:
Object -
getLogicalPoint(event) → {Object}
-
传入HTML事件对象,将事件坐标转换为组件中的逻辑坐标
Parameters:
Name Type Description event
Event 事件对象
Returns:
Object -
getRootData() → {ht.Data}
-
获取根节点,默认为空,从DataModel#getRoots()的对象开始展示
Returns:
ht.Data -
getRowDatas() → {ht.List}
-
获取当前显示的Data对象集合,该集合已被排序和过滤
Returns:
ht.List -
getRowHeight() → {number}
-
获取行高
Returns:
number -
getRowIndex(data) → {number}
-
获取data对象所在的行索引
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
number -
getRowLineColor() → {string}
-
获取行线颜色
Returns:
string -
getRowSize() → {number}
-
返回当前可见行总行数
Returns:
number -
getScrollBarColor() → {string}
-
获取滚动条颜色
Returns:
string -
getScrollBarSize() → {number}
-
获取滚动条宽度
Returns:
number -
getSelectableFunc() → {function}
-
获取选择过滤器函数
Returns:
function -
getSelectBackground() → {string}
-
获取行选中背景颜色
Returns:
string -
getSelectionModel() → {ht.SelectionModel}
-
获取选中模型
Returns:
ht.SelectionModel -
getSortFunc() → {function}
-
获取排序函数
Returns:
function -
getStartRowIndex() → {number}
-
获取当前可见区域的起始行索引
Returns:
number -
getToggleIcon(data) → {string}
-
返回当前data对象对应的展开或合并图标,可重载自定义
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
string -
getToolTip(e) → {string}
-
获取ToolTip文字,可重载返回自定义的toolTip文字
Parameters:
Name Type Description e
Event 鼠标或Touch事件对象
Returns:
string -toolTip文字,默认取出鼠标下的图元,然后返回其getToolTip()
-
getTranslateY() → {number}
-
获取垂直平移值
Returns:
number -垂直平移值
-
getView() → {HTMLDivElement}
-
获取组件的根层div
Returns:
HTMLDivElement -
getViewRect() → {Object}
-
获取组件中可见区域的逻辑尺寸
Returns:
Object -
getVisibleFunc() → {function}
-
获取可见过滤器函数
Returns:
function -
getWidth() → {number}
-
获取布局宽度
Returns:
number -
handleDragAndDrop(event, state) → {void}
-
Parameters:
Name Type Description event
Event 鼠标或Touch交互事件
state
"end" | "prepare" | "begin" | "between" Returns:
void -
invalidate(delay) → {void}
-
无效组件,并调用延时刷新
Parameters:
Name Type Attributes Description delay
number <optional>
延迟刷新的间隔事件(单位:ms)
Returns:
void -
invalidateData(data) → {void}
-
无效数据元素
Parameters:
Name Type Description data
ht.Data 要无效的数据元素
Returns:
void -
invalidateModel() → {void}
-
无效模型,最彻底的刷新方式
Returns:
void -
isAutoHideScrollBar() → {boolean}
-
是否自动隐藏滚动条
Returns:
boolean -
isAutoMakeVisible() → {boolean}
-
选中数据元素时,是否自动平移组件以确保该元素出现在可见区域内
Returns:
boolean -
isCheckMode() → {boolean}
-
是否是check模式
Returns:
boolean -
isChildrenSortable(parent) → {boolean}
-
判断是否允许对parent对象的孩子排序,默认返回true,可重载屏蔽孩子排序
Parameters:
Name Type Description parent
ht.Data 父元素
Returns:
boolean -
isDisabled() → {boolean}
-
组件是否处于不可用状态,处于此状态时不能进行任何操作并且会遮挡一层蒙板
Returns:
boolean -
isExpanded(data) → {boolean}
-
判断data对象是否展开
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
boolean -
isRootVisible() → {boolean}
-
判断rootData节点是否可见
Returns:
boolean -
isRowLineVisible() → {boolean}
-
获取行线是否可见,默认为true
Returns:
boolean -
isSelectable(data) → {boolean}
-
判断data对象是否可被选中
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
boolean -
isSelected(data) → {boolean}
-
判断data对象是否被选中
Parameters:
Name Type Description data
ht.Data 图元
Returns:
boolean -
isSelectedById(id) → {boolean}
-
根据id判断data对象是否被选中
Parameters:
Name Type Description id
string | number 数据元素id
Returns:
boolean -
isSelectionModelShared() → {boolean}
-
当前组件是否共享选中模型
Returns:
boolean -
isVisible(data) → {boolean}
-
判断数据元素是否可见
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
boolean -
iv(delay) → {void}
-
无效组件,并调用延时刷新
Parameters:
Name Type Attributes Description delay
number <optional>
延迟刷新的间隔事件(单位:ms)
Returns:
void -
ivm() → {void}
-
无效模型,重新构造内部的rows数据,最彻底的刷新方式,invalidateModel的缩写
Returns:
void -
lp(event) → {Object}
-
传入HTML事件对象,将事件坐标转换为组件中的逻辑坐标,getLogicalPoint的缩写
Parameters:
Name Type Description event
Event 事件对象
Returns:
Object -
makeVisible(data) → {void}
-
平移组件以确保数据元素在可见区域内
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
void -
mp(listener, scope, ahead) → {void}
-
增加自身属性变化事件监听器,addPropertyChangeListener的缩写
Parameters:
Name Type Attributes Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
ahead
boolean <optional>
是否将当前监听器插入到监听器列表开头
Returns:
void -
onCollapsed(data) → {void}
-
合并data对象时调用,可重载做后续处理
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
void -
onDataClicked(data, e) → {void}
-
数据元素被点击时回调,可重载做后续处理
Parameters:
Name Type Description data
ht.Data 被点击的数据元素
e
Event 事件对象
Returns:
void -
onDataDoubleClicked(data, e) → {void}
-
数据元素被双击时回调,可重载做后续处理
Parameters:
Name Type Description data
ht.Data 双击的数据元素
e
Event 事件对象
Returns:
void -
onExpanded(data) → {void}
-
展开data对象时调用,可重载做后续处理
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
void -
onTranslateEnded() → {void}
-
平移动画结束时回调,可重载做后续处理
Returns:
void -
redraw() → {void}
-
重绘组件中所有行,仅次于invalidateModel的彻底刷新方式
Returns:
void -
removeBottomPainter(painter) → {void}
-
删除底层Painter
Parameters:
Name Type Description painter
Object | function Painter类
Returns:
void -
removePropertyChangeListener(listener, scope) → {void}
-
删除自身属性变化事件监听器
Parameters:
Name Type Attributes Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
Returns:
void -
removeSelection() → {void}
-
删除所有选中的图元
Returns:
void -
removeTopPainter(painter) → {void}
-
删除顶层Painter
Parameters:
Name Type Description painter
Object | function Painter类
Returns:
void -
removeViewListener(listener, scope) → {void}
-
删除视图事件监听器
Parameters:
Name Type Attributes Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
Returns:
void -
scrollToIndex(index) → {void}
-
平移(滚动)组件至指定的行号
Parameters:
Name Type Description index
number 行号
Returns:
void -
selectAll() → {void}
-
选中所有数据元素
Returns:
void -
setAutoHideScrollBar(v) → {void}
-
设置是否自动隐藏滚动条
Parameters:
Name Type Description v
boolean Returns:
void -
setAutoMakeVisible(v) → {void}
-
设置当选中数据元素,是否自动平移(滚动)组件以确保该数据元素出现在可见区域内
Parameters:
Name Type Description v
boolean Returns:
void -
setCheckMode(v) → {void}
-
设置check模式
Parameters:
Name Type Description v
string null:默认值,不启用check选择模式
default:check模式的默认选择方式,即单击选中或取消选中,只影响当前点击中的data对象
children:该check模式将同时影响点击中的data对象,以及其孩子对象
descendant:该check模式将同时影响点击中的data对象,以及其所有子孙对象
all:该check模式将同时影响点击中的data对象,以及其所有父辈和子孙对象Returns:
void -
setCollapseIcon(v) → {void}
-
设置toggle的关闭图标
Parameters:
Name Type Description v
string icon
Returns:
void -
setDataModel(dataModel) → {void}
-
设置绑定的数据模型
Parameters:
Name Type Description dataModel
ht.DataModel 数据模型
Returns:
void -
setDisabled(value, iconUrl) → {void}
-
设置组件是否处于不可用状态,处于不可用状态时不能进行任何操作并且会遮挡一层蒙板
Parameters:
Name Type Description value
boolean 是否禁用组件
iconUrl
string 蒙板上显示的icon的路径
Returns:
void -
setExpandIcon(v) → {void}
-
设置toggle的展开图标
Parameters:
Name Type Description v
string icon
Returns:
void -
setFocusData(data) → {void}
-
在checkMode模式下数据除了被选中有check状态外,还可以有被点击行的focus状态
此方法设置focus的数据元素Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
void -
setFocusDataById(id) → {void}
-
在checkMode模式下数据除了被选中有check状态外,还可以有被点击行的focus状态
此方法设置focus的数据元素Parameters:
Name Type Description id
string | number 数据元素的id
Returns:
void -
setHeight(v) → {void}
-
设置布局高度
Parameters:
Name Type Description v
number 高度值
Returns:
void -
setIndent(v) → {void}
-
设置indent缩进,该值一般当作图标的宽度
Parameters:
Name Type Description v
number Returns:
void -
setLabelColor(v) → {void}
-
设置行label文字颜色
Parameters:
Name Type Description v
string Returns:
void -
setLabelFont(v) → {void}
-
设置行label文字字体
Parameters:
Name Type Description v
string Returns:
void -
setLabelSelectColor(v) → {void}
-
设置行label文字选中颜色
Parameters:
Name Type Description v
string Returns:
void -
setLoader(v) → {void}
-
设置延迟加载器
Parameters:
Name Type Description v
Object Returns:
voidExample
//示例: treeView.setLoader({ load: function(data) { //展开此data时回调,可用于加载子节点 }, isLoaded: function(data) { //返回此data的子结点是否已加载 } });
-
setRootData(v) → {void}
-
指定根节点,默认为空,从DataModel#getRoots()的对象开始展示
Parameters:
Name Type Description v
ht.Data Returns:
void -
setRootVisible(v) → {void}
-
设置根节点是否可见
Parameters:
Name Type Description v
boolean Returns:
void -
setRowHeight(v) → {void}
-
设置行高
Parameters:
Name Type Description v
number Returns:
void -
setRowLineColor(color) → {void}
-
设置行线颜色
Parameters:
Name Type Description color
string Returns:
void -
setRowLineVisible(v) → {void}
-
设置行线是否可见
Parameters:
Name Type Description v
boolean Returns:
void -
setScrollBarColor(color) → {void}
-
设置滚动条颜色
Parameters:
Name Type Description color
string 颜色值
Returns:
void -
setScrollBarSize(size) → {void}
-
设置滚动条宽度
Parameters:
Name Type Description size
number 宽度值
Returns:
void -
setSelectableFunc(func) → {void}
-
设置选择过滤器函数
Parameters:
Name Type Description func
function 过滤器函数
Returns:
void -
setSelectBackground(color) → {void}
-
设置行选中背景颜色
Parameters:
Name Type Description color
string Returns:
void -
setSelectionModelShared(v) → {void}
-
设置组件是否共享选中模型
Parameters:
Name Type Description v
boolean Returns:
void -
setSortFunc(func) → {void}
-
设置排序函数
Parameters:
Name Type Description func
function Returns:
void -
setTranslate(x, y, anim) → {void}
-
设置垂直平移值(水平平移值无效)
Parameters:
Name Type Attributes Description x
number 水平平移值,此参数无效
y
number 垂直平移值
anim
boolean <optional>
是否使用动画
Returns:
void -
setTranslateY(v) → {void}
-
设置垂直平移值
Parameters:
Name Type Description v
number 垂直平移值
Returns:
void -
setVisibleFunc(func) → {void}
-
设置可见过滤器
Parameters:
Name Type Description func
function 过滤器函数
Returns:
void -
setWidth(v) → {void}
-
设置布局宽度
Parameters:
Name Type Description v
number 宽度值
Returns:
void -
showVBar() → {void}
-
显示垂直滚动条
Returns:
void -
sm() → {ht.SelectionModel}
-
获取选中模型,getSelectionModel的缩写
Returns:
ht.SelectionModel -
toggle(data) → {void}
-
展开或合并data对象
Parameters:
Name Type Description data
ht.Data 数据元素
Returns:
void -
translate(x, y, anim) → {void}
-
在当前值基础上增加垂直平移值(水平无效)
Parameters:
Name Type Attributes Description x
number 新增的水平平移值,此参数无效
y
number 新增的垂直平移值
anim
boolean <optional>
是否使用动画
Returns:
void -
ty() → {number}
-
获取垂直平移值,没有参数时相当于getTranslateY
Returns:
number -平移值
-
ump(listener, scope) → {void}
-
删除自身属性变化事件监听器,removePropertyChangeListener的缩写
Parameters:
Name Type Attributes Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
Returns:
void -
validate() → {void}
-
立刻刷新组件
Returns:
void