sap.m.Dialog escapeHandler的操作方法

2020-09-15 09:28发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 存在 sap.m的...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

存在 sap.m的新属性 .Dialog ,称为escapeHandler。 有谁知道如何使用它? 从1.44开始可用。 我们使用的是1.44.7,但无法使其正常运行。 它是一个属性,而不是事件处理程序。

 Dialog.fragment.xml部分:
 <对话框标题=" {i18n> chooseWS}" contentHeight =" 100%" contentWidth =" 100%" Stretch =" true" verticalScrolling =" false" escapeHandler =" mayTheForceBeWithMe">

 控制器:
 this._oDialog = sap.ui.xmlfragment(" xxx.xxx.xxxx.xxx.Dialog",this);  this._oDialog.setModel(this.getModel(" i18n")," i18n");
 this._oDialog.open();
 ...
 mayTheForceBeWithMe:function(oPromise){
 如果(!this.oFilterEntry || this.oFilterEntry.workspace ==""){
 oPromise.reject();  }其他{
 oPromise.resolve();
 }
 },
 ... 

未调用函数mayTheForceBeWithMe。

谢谢

6条回答
95年老男孩
2020-09-15 10:27

您好Attila,正如Veeraraghavan解释的那样,onEscapeHandler无法在XML片段上正常工作,我自己为此问题苦苦挣扎。 但是我想发布一种解决方法,以防其他人遇到此问题:

1.-在Dialog.xml.fragment中,为您的对话框分配一个ID:

  

2.-实例化片段后,将onClose事件处理程序附加到对话框" dlg":

 if(!this._oDialog){
      this._oDialog = sap.ui.xmlfragment(" xxx.xxx.xxxx.xxx.Dialog",this);  this._oDialog.setModel(this.getModel(" i18n")," i18n");
         var that = this;
         var dlg = sap.ui.getCore()。byId(" dlg");
 dlg.attachAfterClose(function(){
/*在这里执行您的逻辑,以确定是否应该关闭对话框,即IE:是否选择了对话框中的某个项目,或者输入是否已填充数据。 如果您确定不应关闭它,请调用this._oDialog,直到满足您的条件为止。*/
 });

 }

 

希望有帮助。

此致。

一周热门 更多>