如何使用 controllerExtensions 给 SAP Fiori Elements List Report 的表格注册事件响应函数-阿里云开发者社区

开发者社区> jerrywangsap> 正文

如何使用 controllerExtensions 给 SAP Fiori Elements List Report 的表格注册事件响应函数

简介: 如何使用 controllerExtensions 给 SAP Fiori Elements List Report 的表格注册事件响应函数
+关注继续查看

步骤1:在 manifest.json 的 extends 区域里,注册 controllerExtensions:

image.png

源代码:

"extends": {
            "extensions": {
                "sap.ui.controllerExtensions": {
                    "sap.suite.ui.generic.template.ListReport.view.ListReport": {
                      "controllerName": "com.sap.jerry.jerryfioriapp.ext.controller.ListReportExtension",
                        "sap.ui.generic.app": {
                          "SEPMRA_C_PD_Product": {
                            "EntitySet": "SEPMRA_C_PD_Product",
                            "Actions": {
                              "ActionName1": {
                                "id" : "ActionName1",
                                "text" : "Jerry的按钮",
                                "press" : "onCustomAction1",
                                "global": true
                              }
                            }
                        }
                    }
                }        
            }
            }
        },

步骤2:

实现 controller extension:

sap.ui.define("com.sap.jerry.jerryfioriapp.ext.controller.ListReportExtension", [], function() {
    return {
        onCustomAction1 : function(oEvent) {
            alert('Hello');
        },
        onAfterRendering: function (oEvent) {
            debugger;
            var oContentTable = this.byId("com.sap.jerry.jerryfioriapp::sap.suite.ui.generic.template.ListReport.view.ListReport::SEPMRA_C_PD_Product--responsiveTable");
            oContentTable.attachSelect(this._onSelectChanged);
    
        },
        _onSelectChanged: function (oEvent) {
            debugger;
        }
    }
  });

步骤3:测试。


运行时,首先触发 onAfterRendering 钩子函数,通过byId API,根据 Smart Table 控件 ID,拿到其 table 实例:


image.png



SAP UI5 里所有的运行时创建实例,都存储在全局对象 mInstances 里,键为 控件 id,值为控件实例。


image.png


拿到 table 实例后,调用其 attach 方法,挂接对应的事件处理函数。



image.png



一切完成后,点击 Smart Table 某行项目,我们使用 attachSelect 注册的事件处理函数就会触发:

image.png




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Zuul整合Swagger,使用ZuulFilter解决下游服务context-path
问题起因:使用Zuul网关服务,需要整合下游系统的swagger,但是下游服务存在context-path配置,无法正确跳转,最后使用ZuulFilter解决。 1.Zuul整合下游swagger 首先介绍一下Zuul如何整合下游服务swagger,很好理解,就是通过Zuul的swagger地址,实现将下游服务的swagger都放入同一个页面内,流转图如下: 1.
340 0
javascript:使用document.getElementById读取数据为空分析
  今天写个网页,想在页面加载onLoad时,动态显示由后台其他程序传来的数据时,用document.getElementById获取控件对象总是为空。但是检查了这个id确实是存在的。在网上查阅一番后才知道了其中的原因。
890 0
对小程序地图小程序API:my.createMapContext(mapId)的简单使用
my.createMapContext(mapId):创建并返回 map 上下文 mapContext 对象。 mapContext 通过 mapId 跟一个  组件绑定,通过它可以操作对应的  组件。
1548 0
使用Automake,Autoconf生成Makefile(Step by step)
在Unix上写过程序的人尤其是用 C 来开发程序的人一般都遇到过 Makefile,用 make 来开发和编译程序的确很方便,可是要写出一个Makefile就不那么简单了。
806 0
iOS系统菜单控制器UIMenuController使用简介(二)
iOS系统菜单控制器UIMenuController使用简介
24 0
DevExpress - 使用 GaugeControl 标尺组件制作抽奖程序 附源码
  前不久,公司举办了15周年庆,其中添加了一个抽奖环节,要从在读学员中随机抽取幸运学员,当然,这个任务就分到了我这里。   最后的效果如下,启动有个欢迎页面,数据是来自Excel的,点击开始则上面的学号及姓名等信息开始随机滚动,显示区域自适应长度变化等。
936 0
使用ElementUi的table组件自定义添加升序、降序按钮和点击事件及排序
使用ElementUi的table组件自定义添加升序、降序按钮和点击事件及排序
7922 0
+关注
2628
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载