2020-09-15 04:25发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我创建了用于创建数据的"片段"对话框,当我第一次单击时它会很好地打开,当我第二次单击时,如果使用" afterClose"并且在控制台中错误,它将无法打开
"未捕获的TypeError:无法读取null的属性'setInitialFocusId'"
如果不使用" afterClose",第二次打开也会很好,但是数据中的对话框内容不清楚。
请帮助我解决此错误。
谢谢...
谢谢Mahesh,
我使用onAfterClose来重置每个输入的值,但是我觉得它很长。它现在可以正常工作。
我认为您在代码中的某些位置尝试设置属性 控件不可用的" setInitialFocusId",或者您可能正在尝试调用该属性,并且该控件在那个时间点可能没有被实例化,这可能是因为您试图设置控件的焦点,最好将其延迟写入 呼叫代码。
jQuery.sap.delayedCall(iDelay,oObject,方法,aParameters?) jQuery.sap.delayedCall(0,this,function(){//您的代码},{}):字符串
只需检查是否每次打开时都创建该片段,是否 坚持下去就可以了。
但最好将代码粘贴为引用。
嗨Akhilesh,
感谢您的回复,我也在使用您的代码,但是它不起作用,
我正在使用onAfterClose事件,因为我将每个输入值重置为空,它可以很好地工作,但是我觉得它的代码很长。
我认为您的以下代码应该可以工作, 为了清除输入的值,如果您使用的是绑定,则可以执行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() }
最多设置5个标签!
谢谢Mahesh,
我使用onAfterClose来重置每个输入的值,但是我觉得它很长。它现在可以正常工作。
我认为您在代码中的某些位置尝试设置属性 控件不可用的" setInitialFocusId",或者您可能正在尝试调用该属性,并且该控件在那个时间点可能没有被实例化,这可能是因为您试图设置控件的焦点,最好将其延迟写入 呼叫代码。
只需检查是否每次打开时都创建该片段,是否 坚持下去就可以了。
但最好将代码粘贴为引用。
嗨Akhilesh,
感谢您的回复,我也在使用您的代码,但是它不起作用,
我正在使用onAfterClose事件,因为我将每个输入值重置为空,它可以很好地工作,但是我觉得它的代码很长。
我认为您的以下代码应该可以工作, 为了清除输入的值,如果您使用的是绑定,则可以执行model.refresh();如果不使用绑定.....
一周热门 更多>