ht.ui.editor.Editor()

new Editor()

TreeView、ListView 中的行数据、TableView、TreeTableView 中的单元格和 PropertyView 中的属性的编辑器接口;
此接口提供了一些回调函数(isEditable、initEditorView、afterLayout、beforeRemove、getEditorValue)可供重写以自定义自己的编辑器,并提供 stopEditing 和 cancelEditing 两个函数控制编辑器结束编辑
通过 addEditorListener 可监听的事件:

事件名 事件对象 描述
stop { kind: 'stop' } 结束编辑时派发
cancel { kind: 'cancel' } 取消编辑时派发

Methods

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

增加编辑器事件监听器

Parameters:
Name Type Attributes Description
listener Object

监听器函数

scope any <optional>

监听器函数域

ahead boolean <optional>

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

Returns:
void

afterLayout(view) → {void}

编辑器组件布局完成后调用此函数,可以重写此函数做组件的初始化工作,如打开下拉框

Parameters:
Name Type Description
view ht.ui.View

编辑器组件,如文本框等

Returns:
void

beforeRemove(view) → {void}

编辑器组件移除之前调用此函数,可以重写此函数做组件的清理工作,如关闭下拉框

Parameters:
Name Type Description
view ht.ui.View

编辑器组件,如文本框等

Returns:
void

cancelEditing() → {void}

结束编辑并丢弃编辑器组件里的值;在 initEditorView 函数中创建组件时应当监听相应事件(如文本框敲击回车)调用此函数结束编辑,编辑器组件的值将被丢弃

Returns:
void

fireValueChange(value) → {void}

派发值变化事件;如果希望编辑器组件(如 Slider)的值在改变时立即(而不是结束编辑时)同步到正在编辑的视图组件中,应该监听编辑器组件相关事件,并调用此函数将编辑器组件的值派发出去

Parameters:
Name Type Description
value any

编辑器组件的值

Returns:
void

getEditorValue() → {any}

返回编辑器组件的值

Returns:
any -

编辑器组件的值

getEditorView(data, column, view) → {ht.ui.View}

获取编辑器组件

Parameters:
Name Type Description
data ht.Data

数据元素

column ht.ui.Column

列对象或属性对象

view ht.ui.View

当前正在编辑的视图组件,如 ListView

Returns:
ht.ui.View -

编辑器组件,如文本框等

initEditorView(view, data, value, column) → {void}

创建并返回编辑器组件;如果 isEditable 返回 true,此函数将会被调用;此函数只回调一次(初始化),后续获取编辑器组件应该调用 getEditorView

Parameters:
Name Type Description
view ht.ui.View

当前正在编辑的视图组件,如 ListView

data ht.Data

数据元素

value any

当前值

column ht.ui.Column | ht.ui.Property

列对象或属性对象

Returns:
void -

编辑器组件,如文本框等

isEditable(event) → {boolean}

是否可编辑;编辑之前此函数被调用,默认只有 event 是双击事件才返回 true

Parameters:
Name Type Description
event any

交互对象

Returns:
boolean -

是否可编辑

stopEditing() → {void}

结束编辑并保存编辑器组件的值;在 initEditorView 函数中创建组件时应当监听相应事件(如文本框敲击回车)调用此函数结束编辑

Returns:
void