概述
一个组件开发的过程,也即按照要求实现以下接口的过程,组件发布之后,平台会按照与这些接口约定的内容在合适的时机调用这些接口。 具体平台框架如何运作,组件开发者无需关心,只需按照指定的接口实现相关功能即可。
construct(profile, context) - 组件构造函数接口[必需]
您需要在此函数内根据配置信息,以及上下文变量信息来完成组件的渲染或者初始化工作。
注意:一定要在内部调用 this.trig('complete') 方法,触发完成事件来通知框架。如果初始化过程包含异步操作,那么需要把触发完成事件放在异步操作完成的回调函数中。
- @param profile {Object} 配置对象。即配置器 getProfile 方法返回的组件配置信息。
- @param context {ZContext} 上下文对象,包含了配置器 getDependentVariableList 方法所返回的依赖的变量值。对象支持的方法参考文档组件 SDK ZContext 对象说明。
查看 demo
查看 工作台配置
affected(context) - 受影响接口 [可选]
当平台检测到本组件依赖的变量值发生变化时,会调用此方法,通知变量发生了变化,并传入最新的变量值。您需要根据最新的上下文变量,对组件做相关更新。如果觉得有必要,可以重新渲染整个组件。
- @param context {ZContext} 上下文对象,包含了配置器 getDependentVariableList 方法所返回的依赖的变量值。
查看 demo
查看 工作台配置
isValid() - 判断当前状态是否合法接口 [可选]
如果应用开发者在事件处理配置中勾选了检查窗口,那么事件触发时,会调用此方法,用来判断当前是否合法。 比如表单组件会在此方法中逐个校验输入域的合法性,再比如评论组件在这个函数里去判断当前评论框里的内容是否超过了最大的字符数。合法就返回 true, 不合法就返回 false
- @return {Boolean} 返回组件当前内容及状态是否合法。
查看 demo
查看 工作台配置
getData() - 返回当前变量数据接口 [可选]
框架会根据需要随时调用此方法,以获取本窗口组件当前支持的变量值。一般是窗口初始化完成后,或者事件触发后,此方法会被立即调用,以便让框架知道目前组件最新支持的变量数据。进而可以根据变化通知其他依赖此变量的窗口。您需要在此函数中,根据当前组件的状态,返回配置器 getSupportedVariableList 方法声明支持的变量的值。
@return {Object} 返回变量键值对。
查看 demo
查看 工作台配置
onResize() - 窗口尺寸变化接口 [可选]
当窗口尺寸发生变化时,框架会调用此接口通知窗口容器尺寸发生变化。您需要根据具体情况对变化的尺寸做相关适配工作。
查看 demo
查看 工作台配置
onFrameReady() - 帧就绪通知接口 [可选]
本组件窗口所在的帧下全部窗口初始化完成时,框架会调用此方法,做通知。您可以在此方法内处理一些必须在全部窗口初始化完成之后才能做的事情。
destroy [optional]
- 当组件被销毁时, 平台会调用组件的 destroy 函数。
- 可以在这个函数里解绑之前绑定的事件, 销毁在组件内部初始化的对象等。
查看 demo
查看 工作台配置
trig
- 通过组件的 trig 来触发事件。
destroy() - 组件销毁接口 [可选]
窗口发生重置或者销毁时,会调用此接口。您需要在此方法内,做一些必要的变量或者 DOM 移除操作,避免内存泄露。