Element类

Element 对象对应一个组件、子组件或子大屏,下面统称为组件。
通过此对象可以操作对应的组件,获取设置项、修改设置项、数据联动、监听事件等。
Element 对象由系统创建并绑定,用户无需构造。

name

获取组件的名称。

1
readonly name: string

getOption()

获取组件的设置项。

1
2
3
4
5
6
/**
* 获取某个设置项的值
* @param paths 设置项的路径表达
* @returns 该设置项的值
*/
getOption(paths: string | string[]): any

setOption()

修改组件的设置项。

1
2
3
4
5
6
/**
* 修改某个设置项的值
* @param paths 设置项的路径表达
* @param value 设置项的值
*/
setOption(paths: string | string[], value: any): void

applyLinkage()

让组件触发联动。

1
2
3
4
5
/**
* 触发联动
* @param linkage 联动条件
*/
applyLinkage(linkage): void

withdrawLinkage()

让组件取消联动。

1
2
3
4
5
/**
* 取消联动
* @param names 可选。要取消的联动的key数组,不传则取消所有联动
*/
withdrawLinkage(names?: string[]): void

getFullData()

获取组件的数据。

1
2
3
4
5
6
7
/**
* 获取组件的数据
* @param paths 数据设置项的路径表达
* @param encode 获取数据的格式(json或array),默认为json
* @returns 返回该组件勾选的数据
*/
getFullData(paths: string | string[], encode?: "json" | "array"): any

addEventListener()

添加组件的事件监听。

1
2
3
4
5
6
/**
* 添加事件监听
* @param name 事件类型
* @param callback 回调函数
*/
addEventListener(name: string, callback: Callback): void

removeEventListener()

移除组件的事件监听。

1
2
3
4
5
6
/**
* 删除事件监听
* @param name 事件类型
* @param callback 可选。回调函数
*/
removeEventListener(name: string, callback?: Callback): void

emit()

触发组件上的事件。

1
2
3
4
5
6
/**
* 触发事件
* @param name 事件类型
* @param data 可选。事件关联的数据
*/
emit(name: string, data?: any): void

isEmpty()

判断 element 是否与组件建立关联。

1
2
3
4
5
/**
* element与组件是否建立关联
* @returns 是否建立关联
*/
isEmpty(): boolean

getMountedInstance()

获取组件暴露的 instance 对象。通过该对象可实现一些高级功能。

1
2
3
4
5
/**
* 获取组件暴露的instance对象。
* @returns 返回组件暴露的对象,未暴露时返回空对象
*/
getMountedInstance(): any

其他类型声明

1
2
3
4
5
6
type Event = {
type: string; //事件类型
data?: any; //事件数据
};

type Callback = (ev: Event) => void;