关闭不适用于对话框片段SAP UI5

2020-08-17 18:50发布

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

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


关闭不起作用,这是我的片段代码。 请提出建议并尝试多种方式。 另外,在控制台上我没有收到任何错误,它只显示忙模式(有点无限循环),并且当我单击close()时,屏幕挂起了。

  
         

控制器代码:

  _oSonareDialog:function(){
         如果(!this._oSDialog){

             this._oSDialog = sap.ui.xmlfragment(this.getView()。getId(),
                 " scp.com.saparate.view.fragments.SonarReport",此);
             this.getView()。addDependent(this._oSDialog);
         }

         返回this._oSDialog;
     },
//onCloseSonar:function(){

         this.getView()。byId(" idSonardlg")。close();

     },
 onCloseSonar:function(){

        //this.getView()。byId(" idSonardlg")。close();
       //this._oSonareDialog()。close();
//sap.ui.getCore()。byId(" __ xmlview0--idSonardlg")。close();  
 
   

},

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

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


关闭不起作用,这是我的片段代码。 请提出建议并尝试多种方式。 另外,在控制台上我没有收到任何错误,它只显示忙模式(有点无限循环),并且当我单击close()时,屏幕挂起了。

  
         

控制器代码:

  _oSonareDialog:function(){
         如果(!this._oSDialog){

             this._oSDialog = sap.ui.xmlfragment(this.getView()。getId(),
                 " scp.com.saparate.view.fragments.SonarReport",此);
             this.getView()。addDependent(this._oSDialog);
         }

         返回this._oSDialog;
     },
//onCloseSonar:function(){

         this.getView()。byId(" idSonardlg")。close();

     },
 onCloseSonar:function(){

        //this.getView()。byId(" idSonardlg")。close();
       //this._oSonareDialog()。close();
//sap.ui.getCore()。byId(" __ xmlview0--idSonardlg")。close();  
 
   

},

付费偷看设置
发送
4条回答
悠然的二货
1楼 · 2020-08-17 19:21.采纳回答

请在您的控制器中声明全局片段,例如

 this.fragments = {}; 

在打开对话框事件时。

 _oSonareDialog:function(event){
    如果(!this.fragments.MyDialog){
         this.fragments.MyDialog = sap.ui.xmlfragment(" ..")
         this.getView()。addDependent(this.fragments.MyDialog);
    }
    this.fragments.MyDialog.open();
 }
 

在关闭事件上

 onCloseSonar:函数(事件){
    var name = event.getSource()。data(" name");
    如果(this.fragments [name]){
        this.fragments [name] .close();
    }
 }
 

问候,

Venkat

南山jay
2楼-- · 2020-08-17 19:16

嗨,

我也已经尝试过了。 它不起作用。

这可能是由于调用了在同一列的不同单元格上调用的多个片段吗?

但是dialog.open()工作正常,并且碎片打开了。

Alawn_Xu
3楼-- · 2020-08-17 19:09

您的代码有误。

 onCloseSonar:function(oEvent){
     oEvent.getSource()。getParent()。close();
 },

这应该起作用。

此致

Anmol

粗暴的香蕉
4楼-- · 2020-08-17 19:21
  this._oSDialog.close  () 

一周热门 更多>