【2025年1月2日】关于腾讯云小程序平台更名为腾讯云超级应用服务的公告
控制台更新动态
Android SDK 更新动态
iOS SDK 更新动态
Flutter 更新动态
IDE 更新动态
基础库更新动态
@ProxyService(proxy = ExternalElementProxy.class)public class MyExternalElementProxy extends ExternalElementProxy{}
/** * 创建组件,当小程序创建自定义原生组件时将会调用此接口 * * @param widgetId 小程序创建的组件唯一ID * @param widgetContext 小程序组件的上下文,用于向小程序回传内容 * @param type 小程序创建的组件类型名称 * @param parent 承载原生组件的父容器 * @param params 小程序创建组件时传递的参数 */ public abstract void handleInsertElement(long widgetId, ExternalWidgetContext widgetContext, String type, ViewGroup parent, JSONObject params);
/** * 更新组件样式,当小程序更新自定义原生组件的样式时将会调用此接口 * * @param widgetId 小程序组件ID * @param widgetContext 小程序组件的上下文,用于向小程序回传内容 * @param params 小程序更新组件时传递的参数 */ public abstract void handleUpdateElement(long widgetId, ExternalWidgetContext widgetContext, JSONObject params);
/** * 操作组件,当小程序需要向组件发送指令或者调用特有方法的时候将会调用此接口 * * @param widgetId 小程序组件ID * @param widgetContext 小程序组件的上下文,用于向小程序回传内容 * @param params 小程序更新组件时传递的参数 */ public abstract void handleOperateElement(long widgetId, ExternalWidgetContext widgetContext, JSONObject params);
/** * 删除组件 * * @param widgetId 小程序组件ID * @param widgetContext 小程序组件的上下文,用于向小程序回传内容 */ public abstract void handleRemoveElement(long widgetId, ExternalWidgetContext widgetContext);
/** * 向小程序发送 onExternalElementEvent 事件 * * @param jsonObject 事件携带的JSON数据 */ public final void onExternalElementEvent(JSONObject jsonObject); /** * 调用小程序提供的success回调方法 * * @param jsonObject 回调携带的JSON数据,可以为空 */ public final void callbackSuccess(JSONObject jsonObject); /** * 调用小程序提供的fail回调方法 * * @param jsonObject jsonObject 回调携带的JSON数据,可以为空 * @param message 错误信息描述 */ public final void callbackFail(JSONObject jsonObject, String message);
<external-elementid="comp1"type="maTestView"_insert2WebLayer="true"style="width: 200px;height: 100px;"bindexternalelementevent="handleEvent"></external-element>
_insert2WebLayer 表示该组件为同层组件或者非同层组件(true 为同层,需客户端实现同层组件代理;false 为非同层,需要客户端实现非同层代理),bindexternalelementevent 可捕获 native 传递的 onExternalElementEvent 或者onXWebExternalElementEvent,回调参数包括:{target,currentTarget,timeStamp,touches,detail, // native传递的参数}
this.ctx = wx.createExternalElementContext('comp1');
this.ctx.call({params1: {name: 'name1',age: 11},params2: {name: 'name2',age: 22},success: (e) => {console.log('====operate success=====', e)},fail: (e) => {console.log('====operate fail=====', e)},complete: (e) => {console.log('====operate complete=====', e)}})
文档反馈