JS SetTimeOut函数在SAPUI5应用程序中不起作用

2020-08-18 11:45发布

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

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


您好,UI5ers,

我正在尝试在我的视图控制器中使用settimeout方法。 但是永远不会调用超时方法。

为什么在Ui5中不能使用JS本机方法? 还是我使用错误?

谢谢

Bhaskar

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

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


您好,UI5ers,

我正在尝试在我的视图控制器中使用settimeout方法。 但是永远不会调用超时方法。

为什么在Ui5中不能使用JS本机方法? 还是我使用错误?

谢谢

Bhaskar

付费偷看设置
发送
11条回答
闻人可可
1楼 · 2020-08-18 11:53.采纳回答

您好 Bhaskar B

使用setTimeout代替 SAP提供的功能:

 jQuery.sap.intervalCall(500,this.hidePanelAgain,this)

https://ui5.sap.com/1.56.15/#/api/jQuery.sap/methods/jQuery.sap.intervalCall

BR,

Mahesh

南山jay
2楼-- · 2020-08-18 11:52

请粘贴您的代码?

Aaron 3364
3楼-- · 2020-08-18 11:55

嗨Bhaskar,

您能否提供一些其他信息,以了解在何处添加等待时间以及如何实现? 例如,是在onInit上还是在按钮操作之后?

请记住,您始终需要使用"此"对象。

此致

Enric Castella

bbpeas
4楼-- · 2020-08-18 11:53

嗨,Mahesh,

成功了,谢谢!

 onItemSelected:函数(oEvent)
 {
 Msg.show("已选择商品");
 var sPath = oEvent.getSource()。getBindingContext()。getPath();
 var oProductDetailPanel = this.byId(" productDetailsPanel");
 oProductDetailPanel.bindElement({path:sPath});
 this.byId(" productDetailsPanel")。setExpanded(true);
//setTimeout(this.hidePanelAgain,3000);
  jQuery.sap.intervalCall(3000,this," hidePanelAgain",[this]);
 },

 hidePanelAgain:函数(passedthis)
 {
 passthis.byId(" productDetailsPanel")。setExpanded(false);
 }

 

尽管有一个问题:setTimeout在控制器甚至HTML页面中都无法使用?

谢谢

Bhaskar

大道至简
5楼-- · 2020-08-18 11:59

嗨,

我在View控制器中实现了以下操作。

 onItemSelected:函数(oEvent)
 {
 Msg.show("已选择商品");
 var sPath = oEvent.getSource()。getBindingContext()。getPath();
 var oProductDetailPanel = this.byId(" productDetailsPanel");
 oProductDetailPanel.bindElement({path:sPath});
 this.byId(" productDetailsPanel")。setExpanded(true);
 this.setTimeOut(this.hidePanelAgain,300);


 },

 hidePanelAgain:function()
 {
 this.byId(" productDetailsPanel")。setExpanded(false);
 }
 

此致

Bhaskar

悠然的二货
6楼-- · 2020-08-18 11:57

setTimeout本身根本不起作用。 不知道为什么。

95年老男孩
7楼-- · 2020-08-18 12:13
 setTimeOut(this.hidePanelAgain,300);

 

一周热门 更多>