如何修复null的'setInitialFocusId'?

2020-09-15 04:25发布

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

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


我创建了用于创建数据的"片段"对话框,当我第一次单击时它会很好地打开,当我第二次单击时,如果使用" afterClose"并且在控制台中错误,它将无法打开

"未捕获的TypeError:无法读取null的属性'setInitialFocusId'"

如果不使用" afterClose",第二次打开也会很好,但是数据中的对话框内容不清楚。


请帮助我解决此错误。


谢谢...

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

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


我创建了用于创建数据的"片段"对话框,当我第一次单击时它会很好地打开,当我第二次单击时,如果使用" afterClose"并且在控制台中错误,它将无法打开

"未捕获的TypeError:无法读取null的属性'setInitialFocusId'"

如果不使用" afterClose",第二次打开也会很好,但是数据中的对话框内容不清楚。


请帮助我解决此错误。


谢谢...

付费偷看设置
发送
5条回答
jovirus
1楼 · 2020-09-15 04:55.采纳回答

谢谢Mahesh,

我使用onAfterClose来重置每个输入的值,但是我觉得它很长。它现在可以正常工作。

Baoming ROSE
2楼-- · 2020-09-15 05:18

我认为您在代码中的某些位置尝试设置属性 控件不可用的" setInitialFocusId",或者您可能正在尝试调用该属性,并且该控件在那个时间点可能没有被实例化,这可能是因为您试图设置控件的焦点,最好将其延迟写入 呼叫代码。

 jQuery.sap.delayedCall(iDelay,oObject,方法,aParameters?)

 jQuery.sap.delayedCall(0,this,function(){//您的代码},{}):字符串
hongfeng1314
3楼-- · 2020-09-15 05:18

只需检查是否每次打开时都创建该片段,是否 坚持下去就可以了。

但最好将代码粘贴为引用。

N-Moskvin
4楼-- · 2020-09-15 05:06

嗨Akhilesh,

感谢您的回复,我也在使用您的代码,但是它不起作用,

我正在使用onAfterClose事件,因为我将每个输入值重置为空,它可以很好地工作,但是我觉得它的代码很长。

SAP浪
5楼-- · 2020-09-15 04:59

我认为您的以下代码应该可以工作, 为了清除输入的值,如果您使用的是绑定,则可以执行model.refresh();如果不使用绑定.....

 onCreate:function(){
     this._getDialog()。open()
  调试器;
 },
 _getDialog:function(){
     如果(!this.dialog){
        //可以从控制器实例化此片段,如下所示:
         this.dialog = sap.ui.xmlfragment(" idFragment"," fragmentViews.Create",this);
        //在这里添加独立代码
     }
    //调试器
     返回this.dialog;
   },
 closeDialog:function(){
     this._getDialog()。close()
 } 

一周热门 更多>