Class: PropertyView

ht.ui. PropertyView

new PropertyView(dataModel)

属性表组件,用于显示数据元素的属性,支持属性分组、排序

组件在交互过程中经常派发出一些事件,可以通过 addViewListener 监听,常见事件如下(不含从父类继承):

事件名 事件对象 描述
beginEdit { kind: 'beginEdit', data: data, property: property, editor: editor, editorView: editorView } 开始编辑时派发
endEdit { kind: 'endEdit', valueChanged: valueChanged } 结束编辑时派发
invalidateModel { kind: 'invalidateModel' } 无效模型时派发
样式属性(不含从父类继承):labelColor, selectLabelColor, hoverLabelColor, labelFont, editable, categorizable, indent, columnPosition, sortFunc, visibleFunc, expandIcon, expandIconDrawable, collapseIcon, collapseIconDrawable, rowBackground, rowBackgroundDrawable, selectRowBackground, selectRowBackgroundDrawable, indentBackground, indentBackgroundDrawable, iconWidth, iconHeight, hoverRowBackground, hoverRowBackgroundDrawable, checkIcon, checkIconDrawable, uncheckIcon, uncheckIconDrawable, nameAlign, valueAlign, cellPaddingLeft, cellPaddingRight, rowHeight, rowHeightFunc, rowLineVisible, rowLineColor, columnLineVisible, columnLineColor, preferredSizeRowCountLimit, dataModelEditable, scrollBarColor, scrollBarSize, scrollBarTimeout, scrollBarMinLength, scrollBarActiveSize, scrollBarMode, editorValidator

Parameters:
Name Type Description
dataModel ht.DataModel | Object

绑定的数据模型或是属性配置对象

Extends

Methods

addBottomPainter(painter)

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

Parameters:
Name Type Description
painter function

绘制器函数

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

addProperties(properties)

以 json 的方式配置属性(新增)

Parameters:
Name Type Description
properties Array

json 属性

Example
 // 示例:
propertyView.addProperties([{
	name: 'id',
	displayName: '序号'
},
{
	name: 'background',
	accessType: 'style'
},
{
 className: 'ht.ui.EnumProperty',
 name: 'sex',
 datas: [
     { id: 0, label: 'Female' },
     { id: 1, label: 'Male' }
 ]
}
]);

addPropertyChangeListener(listener, scope, ahead)

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

Parameters:
Name Type Argument Description
listener function

监听器函数

scope Object <optional>

函数域

ahead Boolean <optional>

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

Inherited From:

addStyleProperty(property)

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

Parameters:
Name Type Description
property String

属性名

Inherited From:

addToDOM(dom, rect)

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

Parameters:
Name Type Argument Description
dom HTMLElement <optional>

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

rect Object <optional>

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

Inherited From:

addTopPainter(painter)

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

Parameters:
Name Type Description
painter function

绘制器函数

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

addViewListener(listener, scope, ahead)

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

Parameters:
Name Type Argument Description
listener function

监听器函数

scope Object <optional>

监听器函数域

ahead Boolean <optional>

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

Inherited From:

adjustTranslateX(value) → {Number}

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

Parameters:
Name Type Description
value Number

调整之前的滚动值

Returns:

调整后的滚动值

Type
Number

adjustTranslateY(value) → {Number}

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

Parameters:
Name Type Description
value Number

调整之前的滚动值

Returns:

调整后的滚动值

Type
Number

beginEdit(data, 事件对象或, editor)

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

Parameters:
Name Type Description
data ht.Data

数据元素

事件对象或 Event | ht.ui.Property

Property 实例

editor String | Class | ht.ui.editor.Editor

编辑器类或类名或实例

collapse(categoryName)

合并分组

Parameters:
Name Type Description
categoryName String

分组名

collapseAll()

合并所有分组

disableToolTip()

禁用工具提示

See:

dm(dataModel) → {ht.DataModel}

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

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

数据模型

Returns:

dataModel

Type
ht.DataModel

drawBackground(background, x, y, width, height, dom)

绘制背景

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

背景 Drawable

x Number <optional>

起点 x 坐标

y Number <optional>

起点 y 坐标

width Number <optional>

宽度

height Number <optional>

高度

dom HTMLElement <optional>

指定绘制的目标 DOM

Inherited From:

drawBorder(border, x, y, width, height, dom)

绘制边框

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

边框对象

x Number <optional>

起点 x 坐标

y Number <optional>

起点 y 坐标

width Number <optional>

宽度

height Number <optional>

高度

dom HTMLElement <optional>

指定绘制的目标 DOM

Inherited From:

drawCategoryName(g, name, rowIndex, x, y, w, h)

绘制分组名,可重写自定义

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

name String

分组名

rowIndex Number

行索引

x Number

左上角 x 坐标

y Number

左上角 y 坐标

w Number

绘制范围的宽度

h Number

绘制范围的高度

drawPropertyName(g, property, rowIndex, x, y, w, h)

绘制属性名,可重写自定义

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

property ht.ui.Property

属性对象

rowIndex Number

行索引

x Number

左上角 x 坐标

y Number

左上角 y 坐标

w Number

绘制范围的宽度

h Number

绘制范围的高度

drawPropertyValue(g, property, value, rowIndex, x, y, w, h, data) → {HTMLElement}

绘制属性值,可重写自定义,如果返回值为 DOM 对象,则使用该 DOM 元素作为渲染器

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

property ht.ui.Property

属性对象

value Object

rowIndex Number

行索引

x Number

左上角x坐标

y Number

左上角y坐标

w Number

绘制范围的宽度

h Number

绘制范围的高度

data ht.Data

数据元素

Returns:

DOM 渲染器

Type
HTMLElement

enableToolTip()

启用工具提示

See:

endEdit(setValue)

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

Parameters:
Name Type Description
setValue Boolean

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

endEditImpl(value, saveValue, data, property)

结束编辑数据,可以调用这个函数手动结束编辑,重写此函数可以实现编辑数据验证

Parameters:
Name Type Description
value Object

单元格的值

saveValue Boolean

是否保存值

data ht.Data

正在编辑的数据行

property ht.ui.Property

正在编辑的属性

Example
var oldEndEditImpl = tableView.endEditImpl;
tableView.endEditImpl = function(value, saveValue, data, property) {
if (property.getName() === 'name') {
     if (value === '1') {
         // 数据不合法,保持编辑状态
         return;
     }
     else if (value === '2') {
         // 数据不合法,丢掉编辑值,同时结束编辑
         oldEndEditImpl.call(this, value, false, data, property);
         return;
     }
 }
 // 数据正常,结束编辑
 oldEndEditImpl.call(this, value, saveValue, data, property);
 
}

expand(categoryName)

展开分组

Parameters:
Name Type Description
categoryName String

分组名

expandAll()

展开所有分组

figureMaxSize() → {Object}

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

Inherited From:
Returns:

maxSize

Type
Object

figureMinSize() → {Object}

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

Inherited From:
Returns:

minSize

Type
Object

figurePreferredSize() → {Object}

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

Inherited From:
Returns:

preferredSize

Type
Object

fireViewEvent(event)

派发 View 事件

Parameters:
Name Type Description
event Object | String

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

Inherited From:

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

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

Parameters:
Name Type Argument Description
property String

属性名

oldValue Object

属性变化之前的值

newValue Object

属性变化之后的值

compareFunc function <optional>

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

Inherited From:
Returns:

事件是否派发成功

Type
Boolean

getBackground() → {Object}

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

Inherited From:
See:
Returns:

组件背景

Type
Object

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

获取组件背景的 Drawable 对象

Inherited From:
Returns:

组件背景

Type
ht.ui.drawable.Drawable

getBorder() → {ht.border.Border}

获取组件的边框

Inherited From:
Returns:

组件边框

Type
ht.border.Border

getBorderBottom() → {Number}

获取组件边框的底部高度

Inherited From:
Returns:

组件边框底部高度

Type
Number

getBorderLeft() → {Number}

获取组件边框的左侧宽度

Inherited From:
Returns:

组件边框左侧宽度

Type
Number

getBorderRadius() → {Number|Array}

获取 CSS 边框圆角

Inherited From:
Returns:

边框圆角

Type
Number | Array

getBorderRight() → {Number}

获取组件边框的右侧宽度

Inherited From:
Returns:

组件边框右侧宽度

Type
Number

getBorderTop() → {Number}

获取组件边框的顶部高度

Inherited From:
Returns:

组件边框顶部高度

Type
Number

getBoxShadow() → {String}

获取 CSS 阴影值

Inherited From:
Returns:

阴影值

Type
String

getCategoryColor(categoryName) → {color}

返回分组文本颜色,可重写自定义

Parameters:
Name Type Description
categoryName String

分组名

Returns:

颜色值

Type
color

getCategoryFont(categoryName) → {String}

返回分组文本字体,可重载自定义

Parameters:
Name Type Description
categoryName String

分组名

Returns:

字体

Type
String

getCellPaddingLeft(property) → {Number}

获取属性名格子和属性值格子的左侧内边距

Parameters:
Name Type Argument Description
property ht.ui.Property <optional>

属性

Returns:

左侧内边距

Type
Number

getCellPaddingLeft(property) → {Number}

获取属性名格子和属性值格子的右侧内边距

Parameters:
Name Type Argument Description
property ht.ui.Property <optional>

属性

Returns:

右侧内边距

Type
Number

getCheckIcon() → {Object}

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

See:
Returns:

图标

Type
Object

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

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

Returns:

图标

Type
ht.ui.drawable.Drawable

getCollapseIcon() → {Object}

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

See:
Returns:

图标

Type
Object

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

获取合并图标的 Drawable 对象

Returns:

图标

Type
ht.ui.drawable.Drawable

getColumnLineColor() → {color}

获取列线颜色

Returns:

颜色值

Type
color

getColumnPosition() → {Number}

获取列线位置比例,默认值 0.5,允许范围为 0 ~ 1

Returns:

比例值

Type
Number

getContentBottom() → {Number}

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

Inherited From:
Returns:

内容底部距离

Type
Number

getContentDiv() → {HTMLElement}

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

Inherited From:
Returns:

内容 div

Type
HTMLElement

getContentHeight() → {Number}

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

Inherited From:
Returns:

内容高度

Type
Number

getContentLeft() → {Number}

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

Inherited From:
Returns:

内容左侧距离

Type
Number

getContentPoint(event) → {Object}

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

Parameters:
Name Type Description
event Event

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

Inherited From:
Returns:

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

Type
Object

getContentRight() → {Number}

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

Inherited From:
Returns:

内容右侧距离

Type
Number

getContentTop() → {Number}

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

Inherited From:
Returns:

内容顶部距离

Type
Number

getContentWidth() → {Number}

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

Inherited From:
Returns:

内容宽度

Type
Number

getContextMenu() → {ht.ui.ContextMenu}

获取绑定的右键菜单

Inherited From:
Returns:

右键菜单

Type
ht.ui.ContextMenu

getCurrentData() → {ht.Data}

获取当前显示的属性所属的数据元素

Returns:

数据元素

Type
ht.Data

getCurrentLabelColor(property, value, rowIndex) → {color}

返回属性值文本颜色,可重写自定义

Parameters:
Name Type Description
property ht.ui.Property

属性对象

value Object

属性值

rowIndex Number

行索引

Returns:

颜色值

Type
color

getCursor() → {String}

获取鼠标样式(CSS 格式)

Inherited From:
Returns:

鼠标样式

Type
String

getDataModel() → {ht.DataModel}

获取绑定的数据模型

Returns:

数据模型

Type
ht.DataModel

getDisabledBackground() → {String}

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

Inherited From:
Returns:

遮罩背景

Type
String

getDOMProperties() → {Object}

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

Inherited From:
Returns:

DOM 属性映射表

Type
Object

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

获取编辑器

Returns:

编辑器实例

Type
ht.ui.editor.Editor

getEditorValidator() → {function}

获取编辑器验证函数

Returns:

数据验证函数

Type
function

getEditorViewProperties(属性)

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

Parameters:
Name Type Description
属性 ht.ui.Property

getErrorMessage() → {String}

获取错误信息

Inherited From:
Returns:

错误信息

Type
String

getExpandIcon() → {Object}

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

See:
Returns:

图标

Type
Object

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

获取展开图标的 Drawable 对象

Returns:

图标

Type
ht.ui.drawable.Drawable

getHeight() → {Number}

获取组件的高度

Inherited From:
Returns:

组件高度

Type
Number

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

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

Returns:

背景

Type
ht.ui.drawable.Drawable

getHoverLabelColor(property) → {color}

获取选中文本颜色(默认用于属性值、属性名)

Parameters:
Name Type Description
property ht.ui.Property

属性对象

Returns:

颜色值

Type
color

getHoverProperty() → {ht.ui.Property}

获取 hover 状态的属性

Returns:

属性对象

Type
ht.ui.Property

getHoverRowBackground() → {Object}

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

See:
  • getHoverRowBackgroundDrawable
Returns:

背景

Type
Object

getIconHeight() → {Number}

返回属性图标高度

Returns:

高度值

Type
Number

getIconWidth() → {Number}

返回属性图标宽度

Returns:

宽度值

Type
Number

getId() → {Object}

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

Inherited From:
Returns:

唯一标识

Type
Object

getIndent() → {Number}

获取左侧缩进,左侧空间用于绘制分组 toggle 图标,以及属性提示图标

Returns:

缩进值

Type
Number

getIndentBackground() → {Object}

获取分组行背景和左侧 toggle 区域背景;可以是颜色或者图片等

See:
Returns:

背景

Type
Object

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

获取分组行背景和左侧 toggle 区域背景的 Drawable 对象

Returns:

背景

Type
ht.ui.drawable.Drawable

getInteractorClasses() → {Array}

获取交互器类名数组

Inherited From:
Returns:

交互器类名数组

Type
Array

getLabelColor(property) → {color}

获取属性文本颜色(默认用于属性值、属性名、分组名)

Parameters:
Name Type Description
property ht.ui.Property | String

属性对象或分组名

Returns:

颜色值

Type
color

getLabelFont(property, value, rowIndex) → {String}

返回属性值文本字体,可重写自定义

Parameters:
Name Type Argument Description
property ht.ui.Property | String

属性对象或分组名

value Object <optional>

属性值

rowIndex Number <optional>

行索引

Returns:

字体

Type
String

getLayoutParams(key) → {Object}

获取布局参数

Parameters:
Name Type Argument Description
key String <optional>

布局参数中的 key

Inherited From:
Returns:

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

Type
Object

getMargin() → {Number|Array}

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

Inherited From:
Returns:

外边距

Type
Number | Array

getMarginBottom() → {Number}

获取组件底部外边距高度

Inherited From:
Returns:

底部外边距高度

Type
Number

getMarginRight() → {Number}

获取组件右侧外边距宽度

Inherited From:
Returns:

右侧外边距宽度

Type
Number

getMarginTop() → {Number}

获取组件顶部外边距高度

Inherited From:
Returns:

顶部外边距高度

Type
Number

getMarignLeft() → {Number}

获取组件左侧外边距宽度

Inherited From:
Returns:

左侧外边距宽度

Type
Number

getMatchedStyles() → {Object}

获取组件匹配到的样式

Inherited From:
Returns:
Type
Object

getMaxSize() → {Object}

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

Inherited From:
Returns:

maxSize

Type
Object

getMaxSizeProperties() → {Object}

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

Inherited From:
Returns:

maxSize 属性映射表

Type
Object

getMinSize() → {Object}

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

Inherited From:
Returns:

minSize

Type
Object

getMinSizeProperties() → {Object}

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

Inherited From:
Returns:

minSize 属性映射表

Type
Object

getNameAlign(property) → {String}

获取属性名的对齐方式

Parameters:
Name Type Description
property ht.ui.Property

属性

Returns:

对齐方式,值为:left|center|right

Type
String

getPadding() → {Number|Array}

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

Inherited From:
Returns:

内边距

Type
Number | Array

getPaddingBottom() → {Number}

获取组件底部内边距高度

Inherited From:
Returns:

底部内边距高度

Type
Number

getPaddingLeft() → {Number}

获取组件左侧内边距宽度

Inherited From:
Returns:

左侧内边距宽度

Type
Number

getPaddingRight() → {Number}

获取组件右侧内边距宽度

Inherited From:
Returns:

右侧内边距宽度

Type
Number

getPaddingTop() → {Number}

获取组件顶部内边距高度

Inherited From:
Returns:

顶部内边距高度

Type
Number

getParent() → {ht.ui.ViewGroup}

获取父容器

Inherited From:
Returns:

父容器

Type
ht.ui.ViewGroup

getPopover() → {ht.ui.Popover}

获取弹框组件

Inherited From:
Returns:

弹框组件

Type
ht.ui.Popover

getPopoverPlacements() → {Array}

获取弹框组件的弹出位置

Inherited From:
Returns:

弹出位置

Type
Array

getPopoverTrigger() → {String}

获取弹框触发器

Inherited From:
Returns:

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

Type
String

getPreferredSize() → {Object}

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

Inherited From:
Returns:

preferredSize

Type
Object

getPreferredSizeProperties() → {Object}

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

Inherited From:
Returns:

preferredSize 属性映射表

Type
Object

getPreferredSizeRowCountLimit() → {Number}

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

Returns:

限制行数

Type
Number

getPropertyAt(event) → {ht.ui.Property}

传入交互事件对象,返回坐标下的属性对象

Parameters:
Name Type Description
event Event

事件对象

Returns:
Type
ht.ui.Property

getPropertyColor(property, rowIndex) → {color}

返回属性名文本颜色,可重写自定义

Parameters:
Name Type Description
property ht.ui.Property

属性对象

rowIndex Number

行索引

Returns:

颜色值

Type
color

getPropertyFont(property, rowIndex) → {color}

返回属性名文本字体,可重写自定义

Parameters:
Name Type Description
property ht.ui.Property

属性对象

rowIndex Number

行索引

Returns:

字体

Type
color

getPropertyModel() → {ht.DataModel}

获取属性模型

Returns:

属性模型

Type
ht.DataModel

getPropertyName(属性对象) → {String}

返回显示在左列的属性名,可重写自定义

Parameters:
Name Type Description
属性对象 ht.ui.Property
Returns:

属性名

Type
String

getPropertyValue(name) → {Object}

取组件的某个属性的原始值; 不要直接去取私有变量,例如 padding,不要直接取 _padding 私有变量,而是应该使用此函数取值; 此函数取值顺序:

  • 先取 _padding 私有变量
  • 如果为 undefind,再去取样式表中取值
  • 如果为 undefied,再取 __padding 私有变量
Parameters:
Name Type Description
name String

属性名

Inherited From:
Returns:

属性值

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

getRootCanvas() → {HTMLCanvasElement}

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

Inherited From:
Returns:

Canvas DOM 对象

Type
HTMLCanvasElement

getRootContext(dom) → {CanvasRenderingContext2D}

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

Parameters:
Name Type Argument Description
dom HTMLElement <optional>

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

Inherited From:
Returns:

画笔对象

Type
CanvasRenderingContext2D

getRowBackground() → {Object}

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

See:
Returns:

背景

Type
Object

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

获取行背景的 Drawable 对象

Returns:

背景

Type
ht.ui.drawable.Drawable

getRowHeight() → {Number}

获取行高

Returns:

高度值

Type
Number

getRowHeightFunc() → {function}

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

Returns:

行高函数

Type
function

getRowIndex(property) → {Number}

获取属性对象所在的行

Parameters:
Name Type Description
property ht.ui.Property

属性对象

Returns:

索引值

Type
Number

getRowIndexAt(event) → {Number}

获取 event 事件所在的行索引

Parameters:
Name Type Description
event Event

事件对象

Returns:

索引值

Type
Number

getRowLineColor() → {color}

获取行线颜色

Returns:

颜色值

Type
color

getRows() → {ht.List}

返回所有属性信息的集合,集合元素为 String 类型代表分组名,{data: d, property: p} 结构代表属性对象

Returns:
Type
ht.List

getScrollBarActiveSize() → {Number}

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

Returns:

滚动条感应区域的大小

Type
Number

getScrollBarColor() → {color}

获取滚动条颜色

Returns:

颜色值

Type
color

getScrollBarMinLength() → {Number}

获取滚动条最小长度

Returns:

滚动条最小长度

Type
Number

getScrollBarMode() → {String}

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

Returns:

滚动条模式

Type
String

getScrollBarSize() → {Number}

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

Returns:

滚动条大小

Type
Number

getScrollBarTimeout() → {Number}

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

Returns:

滚动条显示时间

Type
Number

getScrollRect() → {Object}

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

Returns:

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

Type
Object

getSelectionModel() → {ht.SelectionModel}

获取选中模型

See:
Returns:
Type
ht.SelectionModel

getSelectLabelColor(property) → {color}

获取选中文本颜色(默认用于属性值、属性名)

Parameters:
Name Type Description
property ht.ui.Property

属性对象

Returns:

颜色值

Type
color

getSelectProperty() → {ht.ui.Property}

获取选中状态的属性

Returns:

属性对象

Type
ht.ui.Property

getSelectRowBackground() → {Object}

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

See:
Returns:

背景

Type
Object

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

获取行选中背景的 Drawable 对象

Returns:

背景

Type
ht.ui.drawable.Drawable

getSortFunc() → {function}

获取排序函数

Returns:

排序函数

Type
function

getStyle() → {String}

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

Inherited From:
Returns:

样式名

Type
String

getStyleProperties() → {Object}

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

Inherited From:
Returns:

样式属性映射表

Type
Object

getStyleValue(property) → {Object}

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

Parameters:
Name Type Description
property String

属性名

Inherited From:
Returns:

样式值

Type
Object

getToolTip(e) → {String}

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

Parameters:
Name Type Description
e Event

事件对象

Returns:

工具提示文本内容

Type
String

getTranslateX() → {Number}

获取水平滚动值

Returns:

水平滚动值

Type
Number

getTranslateY() → {Number}

获取垂直滚动值

Returns:

垂直滚动值

Type
Number

getUncheckIcon() → {Object}

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

See:
Returns:

图标

Type
Object

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

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

Returns:

图标

Type
ht.ui.drawable.Drawable

getValueAlign(property) → {String}

获取属性值的对齐方式

Parameters:
Name Type Description
property ht.ui.Property

属性

Returns:

对齐方式,值为:left|center|right

Type
String

getView() → {HTMLElement}

获取组件最根层的 div

Inherited From:
Returns:

组件 div

Type
HTMLElement

getViewPoint(event) → {Object}

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

Parameters:
Name Type Description
event Event

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

Inherited From:
Returns:

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

Type
Object

getViewRect() → {Object}

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

Returns:

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

Type
Object

getVisibleFunc() → {function}

获取可见过滤器函数

Returns:

可见过滤器函数

Type
function

getWidth() → {Number}

获取组件的宽度

Inherited From:
Returns:

组件宽度

Type
Number

getX() → {Number}

获取组件的 x 坐标

Inherited From:
Returns:

x 坐标

Type
Number

getY() → {Number}

获取组件的 y 坐标

Inherited From:
Returns:

y 坐标

Type
Number

getZIndex() → {Number}

获取组件的堆叠顺序

Inherited From:
Returns:

堆叠顺序

Type
Number

getZoom() → {Number}

获取缩放值

Inherited From:
Returns:

缩放值

Type
Number

getZoomAnchor() → {Array}

获取缩放锚点

Inherited From:
Returns:

锚点数组

Type
Array

hasContentCanvas() → {Boolean}

判断组件是否有私有 canvas

Inherited From:
Returns:

组件是否有私有 canvas

Type
Boolean

hasFocus() → {Boolean}

判断焦点是否在组件上

Inherited From:
Returns:

焦点是否在组件上

Type
Boolean

hidePopover()

隐藏弹框组件

Inherited From:

initView(canvas)

初始化组件的 DOM 结构

Parameters:
Name Type Argument Description
canvas Boolean <optional>

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

Inherited From:

invalidate(forceLayoutChildren)

使组件无效化

Parameters:
Name Type Argument Description
forceLayoutChildren Boolean <optional>

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

Inherited From:
See:

invalidateDOM()

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

Inherited From:

invalidateModel()

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

See:

isCategorizable() → {Boolean}

是否分组显示,默认为 true

Returns:

是否分组显示

Type
Boolean

isCloseToHScrollBar(e)

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

Parameters:
Name Type Description
e Event

鼠标或 Touch 事件对象

isCloseToVScrollBar(e)

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

Parameters:
Name Type Description
e Event

鼠标或 Touch 事件对象

isColumnLineVisible() → {Boolean}

获取列线是否可见,默认为 true

Returns:

列线是否可见

Type
Boolean

isDataModelEditable() → {Boolean}

判断是否可以编辑 DataModel 属性

Returns:
Type
Boolean

isDescendantOf(viewGroup) → {Boolean}

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

Parameters:
Name Type Description
viewGroup ht.ui.ViewGroup

容器

Inherited From:
Returns:
Type
Boolean

isDisabled() → {Boolean}

组件是否被禁用

Inherited From:
Returns:

是否被禁用

Type
Boolean

isEditable() → {Boolean}

是否可编辑的总开关

Returns:

是否可编辑

Type
Boolean

isEditing(data, property) → {Boolean}

是否正在编辑数据;如果 data 和 property 为空,返回值表示属性页是否处于编辑状态; 如果不为空,返回值表示是否正在编辑参数指定的 data 和 property

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

数据元素

property ht.ui.Property <optional>

属性对象

Returns:

正在编辑数据

Type
Boolean

isExpanded(categoryName) → {Boolean}

分组是否展开

Parameters:
Name Type Description
categoryName String

分组名

Returns:
Type
Boolean

isFocusable() → {Boolean}

组件是否可以获取焦点

Inherited From:
Returns:

是否可获取焦点

Type
Boolean

isHScrollable() → {Boolean}

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

Returns:

是否可以水平滚动

Type
Boolean

isInDOM() → {Boolean}

判断组件是否在 DOM 树中

Inherited From:
Returns:

组件是否在 DOM 树中

Type
Boolean

isMaxSizeSet() → {Boolean}

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

Inherited From:
Returns:

maxSize 是否被设置

Type
Boolean

isMinSizeSet() → {Boolean}

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

Inherited From:
Returns:

minSize 是否被设置

Type
Boolean

isPannable() → {Boolean}

是否允许拖拽平移

Returns:

是否允许拖拽平移

Type
Boolean

isPreferredSizeSet() → {Boolean}

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

Inherited From:
Returns:

preferredSize 是否被设置

Type
Boolean

isPropertyEditable(event, property) → {Boolean}

判断属性是否可编辑,可重写自定义

Parameters:
Name Type Description
event Event

交互事件对象

property ht.ui.Property

属性对象

Returns:
Type
Boolean

isPropertyEditable(e, property) → {Boolean}

判断数据元素是否可编辑

Parameters:
Name Type Argument Description
e Event

交互事件

property ht.ui.Property <optional>

属性对象

Returns:

是否可编辑

Type
Boolean

isRedrawOnFocus() → {Boolean}

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

Inherited From:
Returns:

是否重绘自身

Type
Boolean

isRowLineVisible() → {Boolean}

判断行线是否可见

Returns:
Type
Boolean

isSelectionModelShared() → {Boolean}

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

Returns:

是否共享选中模型

Type
Boolean

isSelfViewEvent(event) → {Boolean}

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

Parameters:
Name Type Description
event Event

事件对象

Inherited From:
Returns:

事件是否发生在自身 DOM 上

Type
Boolean

isStyleProperty(property) → {Boolean}

判断属性是否是样式属性

Parameters:
Name Type Description
property String

属性名

Inherited From:
Returns:

是否是样式属性

Type
Boolean

isToolTipEnabled() → {Boolean}

是否启用工具提示

Returns:

是否启用工具提示

Type
Boolean

isVisible(property) → {Boolean}

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

Parameters:
Name Type Argument Description
property ht.ui.Property <optional>

属性对象

Returns:

是否可见

Type
Boolean

isVScrollable() → {Boolean}

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

Returns:

是否可以垂直滚动

Type
Boolean

iv(forceLayoutChildren)

使组件无效化

Parameters:
Name Type Argument Description
forceLayoutChildren Boolean <optional>

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

Inherited From:
See:

ivm()

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

See:

layoutDOM(x, y, width, height)

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

Parameters:
Name Type Description
x Number

组件的 x 坐标

y Number

组件的 y 坐标

width Number

组件宽度

height Number

组件高度

Inherited From:

makeDisabled(disabled, disabledDiv)

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

Parameters:
Name Type Description
disabled disabled

是否禁用

disabledDiv HTMLElement

遮罩 div

Inherited From:

mp(listener, scope, ahead)

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

Parameters:
Name Type Argument Description
listener function

监听器函数

scope Object <optional>

函数域

ahead Boolean <optional>

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

Inherited From:

off(name, function, scope, ahead)

删除事件监听

Parameters:
Name Type Description
name String

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

function function

监听器函数

scope Object

监听器函数域

ahead Boolean

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

Inherited From:

on(name, function, scope, ahead)

增加事件监听

Parameters:
Name Type Description
name String

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

function function

监听器函数

scope Object

监听器函数域

ahead Boolean

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

Inherited From:

onCollapsed(categoryName)

合并分组时调用,可重写做后续处理

Parameters:
Name Type Description
categoryName String

分组名

onExpanded(categoryName)

展开分组时调用,可重写做后续处理

Parameters:
Name Type Description
categoryName String

分组名

onOnce(name, function, scope, ahead)

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

Parameters:
Name Type Description
name String

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

function function

监听器函数

scope Object

监听器函数域

ahead Boolean

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

Inherited From:

processValidate()

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

Inherited From:

redraw(forceLayoutChildren)

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

Parameters:
Name Type Argument Description
forceLayoutChildren Boolean <optional>

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

Inherited From:

removeBottomPainter(painter)

删除底层绘制器

Parameters:
Name Type Description
painter function

绘制器函数

removeFromDOM()

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

Inherited From:

removePropertyChangeListener(listener, scope)

删除属性事件变化监听器

Parameters:
Name Type Argument Description
listener function

监听器函数

scope Object <optional>

函数域

Inherited From:

removeStyleProperty(property)

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

Parameters:
Name Type Description
property String

属性名

Inherited From:

removeTopPainter(painter)

删除顶层绘制器

Parameters:
Name Type Description
painter function

绘制器函数

removeViewListener(listener, scope)

删除 View 事件监听器

Parameters:
Name Type Argument Description
listener function

监听器函数

scope Object <optional>

监听器函数域

Inherited From:

requestFocus()

请求获取焦点

Inherited From:

set(properties)

批量设置组件属性

Parameters:
Name Type Description
properties Object

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

Inherited From:

setBackground(background)

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

Parameters:
Name Type Description
background Object

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

Inherited From:
See:

setBackgroundDrawable(drawable)

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

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

Drawable 对象

Inherited From:

setBorder(border)

设置组件的边框

Parameters:
Name Type Description
border ht.border.Border

组件边框

Inherited From:

setBorderRadius(radius)

设置 CSS 边框圆角

Parameters:
Name Type Description
radius Number | Array

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

Inherited From:

setBoxShadow(boxShadow)

设置 CSS 阴影值

Parameters:
Name Type Description
boxShadow String

阴影值

Inherited From:

setCategorizable(categorizable)

设置是否分组显示

Parameters:
Name Type Description
categorizable Boolean

是否分组

setCellPaddingLeft(padding)

设置属性名格子和属性值格子的左侧内边距

Parameters:
Name Type Description
padding Number

左侧内边距

setCellPaddingLeft(padding)

设置属性名格子和属性值格子的右侧内边距

Parameters:
Name Type Description
padding Number

右侧内边距

setCheckIcon(icon)

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

Parameters:
Name Type Description
icon Object

图标

See:

setCheckIconDrawable(drawable)

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

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

图标

setCollapseIcon(icon)

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

Parameters:
Name Type Description
icon Object

图标

See:

setCollapseIconDrawable(drawable)

设置合并图标的 Drawable 对象

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

图标

setColumnLineColor(color)

设置列线颜色

Parameters:
Name Type Description
color color

颜色值

setColumnLineVisible(visible)

设置列线是否可见

Parameters:
Name Type Description
visible Boolean

是否可见

setColumnPosition(position)

设置列线位置比例,默认值 0.5,允许范围为 0 ~ 1

Parameters:
Name Type Description
position Number

比例值

setContextMenu(contextMenu)

设置绑定的右键菜单

Parameters:
Name Type Description
contextMenu ht.ui.ContextMenu

右键菜单

Inherited From:

setCursor(cursor)

设置鼠标样式(CSS 格式)

Parameters:
Name Type Description
cursor String

鼠标样式

Inherited From:

setDataModel(dataModel)

设置绑定的数据模型

Parameters:
Name Type Description
dataModel ht.DataModel

数据模型

setDataModelEditable(editable)

设置是否可以编辑 DataModel 属性

Parameters:
Name Type Description
editable Boolean

setDisabled(disabled)

设置组件是否被禁用

Parameters:
Name Type Description
disabled Boolean | String

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

Inherited From:

setDisabledBackground(background)

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

Parameters:
Name Type Description
background String

遮罩背景

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

setEditable(editable)

设置可否编辑的总开关,每个属性对象可单独再控制

Parameters:
Name Type Description
editable Boolean

是否可编辑

setEditorValidator(validator)

设置编辑器验证函数

Parameters:
Name Type Description
validator function

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

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

设置错误信息

Parameters:
Name Type Description
message String

错误信息

params Object

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

Inherited From:
Returns:

错误提示组件

Type
ht.ui.ErrorMessagePopover

setExpandIcon(icon)

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

Parameters:
Name Type Description
icon Object

图标

See:

setExpandIconDrawable(drawable)

设置展开图标的 Drawable 对象

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

图标

setFocusable(focusable)

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

Parameters:
Name Type Description
focusable Boolean

是否可获取焦点

Inherited From:

setHeight(height)

设置组件的高度

Parameters:
Name Type Description
height Number

组件高度

Inherited From:

setHoverLabelColor(color)

设置选中文本颜色(默认用于属性值、属性名)

Parameters:
Name Type Description
color color

颜色值

setHoverProperty(property)

设置 hover 状态的属性

Parameters:
Name Type Description
property ht.ui.Property

属性对象

setHoverRowBackground(background)

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

Parameters:
Name Type Description
background Object

背景

See:

setHoverRowBackgroundDrawable(drawable)

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

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

背景

setIconHeight(height)

设置属性图标高度

Parameters:
Name Type Description
height Number

高度值

setIconWidth(width)

设置属性图标宽度

Parameters:
Name Type Description
width Number

宽度值

setId(id)

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

Parameters:
Name Type Description
id Object

唯一标识

Inherited From:

setIndent(indent)

设置左侧缩进,左侧空间用于绘制分组 toggle 图标,以及属性图标

Parameters:
Name Type Description
indent Number

缩进值

setIndentBackground(background)

设置分组行背景和左侧 toggle 区域背景;可以是颜色或者图片等

Parameters:
Name Type Description
background Object

背景

See:

setIndentBackgroundDrawable(drawable)

设置分组行背景和左侧 toggle 区域背景的 Drawable 对象

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

背景

setLabelColor(color)

设置属性文本颜色(默认用于属性值、属性名、分组名)

Parameters:
Name Type Description
color color

颜色值

setLabelFont(font)

设置属性名和属性值文本字体

Parameters:
Name Type Description
font String

字体

setLayoutParams(layoutParams, value)

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

  • view.setLayoutParams({ marginLeft: 20, marginRight: 20 }) 指定布局参数对象
  • view.setLayoutParams('marginLeft', 20) 传入两个参数设置布局参数对象中的属性
Parameters:
Name Type Argument Description
layoutParams Object

布局参数对象或 key

value Object <optional>

布局参数值

Inherited From:

setMargin(margin)

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

Parameters:
Name Type Description
margin Number | Array

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

Inherited From:

setMaxSize(width, height)

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

Parameters:
Name Type Description
width Number

最大宽度

height Number

最大高度

Inherited From:

setMinSize(width, height)

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

Parameters:
Name Type Description
width Number

最小宽度

height Number

最小高度

Inherited From:

setNameAlign(align)

设置属性名的对齐方式

Parameters:
Name Type Description
align String

对齐方式,值为:left|center|right

setPadding(padding)

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

Parameters:
Name Type Description
padding Number | Array

内边距

Inherited From:

setPannable(pannable)

设置是否允许拖拽平移

Parameters:
Name Type Description
pannable Boolean

是否允许拖拽平移

setPopover(popover, trigger)

设置弹框组件

Parameters:
Name Type Argument Description
popover ht.ui.Popover | String

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

trigger String <optional>

触发器,值为:click|hover

Inherited From:

setPopoverPlacements(placements)

设置弹框组件的弹出位置

Parameters:
Name Type Description
placements Array

位置数组

Inherited From:

setPopoverTrigger(trigger)

设置弹框触发器

Parameters:
Name Type Description
trigger String

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

Inherited From:

setPreferredSize(width, height)

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

Parameters:
Name Type Description
width Number

首选宽度

height Number

首选高度

Inherited From:

setPreferredSizeRowCountLimit(limit)

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

Parameters:
Name Type Description
limit Number

限制行数

setProperties(properties)

以 json 的方式配置属性(设置)

Parameters:
Name Type Description
properties Array

json 属性

Example
 //示例:
propertyView.setProperties([{
	name: 'id',
	displayName: '序号'
},
{
	name: 'background',
	accessType: 'style'
}
]);

setPropertyValue(name, value)

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

Parameters:
Name Type Description
name String

属性名

value Object

属性值

Inherited From:

setRedrawOnFocus(redrawOnFocus)

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

Parameters:
Name Type Description
redrawOnFocus Boolean

是否重绘自身

Inherited From:

setRowBackground(background)

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

Parameters:
Name Type Description
background Object

背景

See:

setRowBackgroundDrawable(drawable)

设置行背景的 Drawable 对象

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

背景

setRowHeight(height)

设置行高

Parameters:
Name Type Description
height Number

行高

setRowHeightFunc(func)

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

Parameters:
Name Type Description
func function

行高函数

Example
propertyView.setRowHeightFunc(function(property) {
		if (data.getId() === 1) return 50;
		else return 24;
});

setRowLineColor(color)

设置行线颜色

Parameters:
Name Type Description
color color

颜色值

setRowLineVisible(visible)

设置行线是否可见

Parameters:
Name Type Description
visible Boolean

是否可见

setScrollBarActiveSize(activeSize)

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

Parameters:
Name Type Description
activeSize Number

滚动条感应区域的大小

setScrollBarColor(color)

设置滚动条颜色

Parameters:
Name Type Description
color color

颜色值

setScrollBarMinLength(length)

设置滚动条最小长度

Parameters:
Name Type Description
length Number

滚动条最小长度

setScrollBarMode(mode)

设置滚动条模式

Parameters:
Name Type Description
mode String

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

setScrollBarSize(size)

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

Parameters:
Name Type Description
size Number

滚动条大小

setScrollBarTimeout(timeout)

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

Parameters:
Name Type Description
timeout Number

滚动条显示时间

setSelectionModelShared(v)

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

Parameters:
Name Type Description
v Boolean

是否共享选中模型

setSelectLabelColor(color)

设置选中文本颜色(默认用于属性值、属性名)

Parameters:
Name Type Description
color color

颜色值

setSelectProperty(property)

设置选中状态的属性

Parameters:
Name Type Description
property ht.ui.Property

属性对象

setSelectRowBackground(background)

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

Parameters:
Name Type Description
background Object

背景

See:

setSelectRowBackgroundDrawable(drawable)

设置行选中背景的 Drawable 对象

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

背景

setSortFunc(func)

设置排序函数

Parameters:
Name Type Description
func function

排序函数

setStyle(styleName)

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

Parameters:
Name Type Description
styleName String

样式名

Inherited From:

setToolTipEnabled(enabled)

设置是否启用工具提示

Parameters:
Name Type Description
enabled Boolean

是否启用工具提示

setTranslate(translateX, translateY, anim)

设置水平和垂直滚动值

Parameters:
Name Type Argument Description
translateX Number

水平滚动值

translateY Number

垂直滚动值

anim Boolean <optional>

是否使用动画

setTranslateX(translateX)

设置水平滚动值

Parameters:
Name Type Description
translateX Number

水平滚动值

setTranslateY(translateY)

设置垂直滚动值

Parameters:
Name Type Description
translateY Number

垂直滚动值

setUncheckIcon(icon)

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

Parameters:
Name Type Description
icon Object

图标

See:

setUncheckIconDrawable(drawable)

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

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

图标

setValueAlign(align)

设置属性值的对齐方式

Parameters:
Name Type Description
align String

对齐方式,值为:left|center|right

setVisible(visible)

设置组件是否可见

Parameters:
Name Type Description
visible Boolean

组件是否可见

Inherited From:

setVisibleFunc(func)

设置可见属性过滤器

Parameters:
Name Type Description
func function

过滤器函数

setWidth(width)

设置组件的宽度

Parameters:
Name Type Description
width Number

组件宽度

Inherited From:

setX(x)

设置组件的 x 坐标

Parameters:
Name Type Description
x Number

x 坐标

Inherited From:

setY(y)

设置组件的 y 坐标

Parameters:
Name Type Description
y Number

y 坐标

Inherited From:

setZIndex(zIndex)

设置组件的堆叠顺序

Parameters:
Name Type Description
zIndex Number

堆叠顺序

Inherited From:

setZoom(zoom)

设置缩放

Parameters:
Name Type Description
zoom Number

缩放值

Inherited From:

setZoomAnchor(anchor)

设置缩放锚点

Parameters:
Name Type Description
anchor Array

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

Inherited From:

showHScrollBar()

显示水平滚动条

showPopover()

显示弹框组件

Inherited From:

showScrollBar()

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

showVScrollBar()

显示垂直滚动条

sm() → {ht.SelectionModel}

获取选中模型,getSelectionModel的缩写

See:
Returns:
Type
ht.SelectionModel

tearDownBorder(border, x, y, width, height, dom)

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

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

边框对象

x Number <optional>

起点 x 坐标

y Number <optional>

起点 y 坐标

width Number <optional>

宽度

height Number <optional>

高度

dom HTMLElement <optional>

指定绘制的目标 DOM

Inherited From:

toggle(categoryName)

切换分组展开合并状态

Parameters:
Name Type Description
categoryName String

分组名

translate(x, y, anim)

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

Parameters:
Name Type Argument Description
x Number

水平滚动值增量

y Number

垂直滚动值增量

anim Boolean <optional>

是否使用动画

tx(value)

获取或设置水平滚动值

Parameters:
Name Type Argument Description
value Number <optional>

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

ty(value)

获取或设置垂直滚动值

Parameters:
Name Type Argument Description
value Number <optional>

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

ump(listener, scope)

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

Parameters:
Name Type Argument Description
listener function

监听器函数

scope Object <optional>

函数域

Inherited From:

validate()

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

Inherited From:
See:

validateImpl(x, y, width, height)

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

Parameters:
Name Type Description
x Number

内容范围的 x 坐标

y Number

内容范围的 y 坐标

width Number

内容范围宽度

height Number

内容范围高度

Inherited From:
© 2017 Hightopo Inc. All rights reserved. - Email: service@hightopo.com