Messagebox.show消失而无需输入

2020-09-04 12:05发布

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

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


消息框在没有用户输入的情况下消失,并移至sap.ui.getCore()。byId(" backBtn")上的上一个屏幕。 请帮助确定问题。

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

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


消息框在没有用户输入的情况下消失,并移至sap.ui.getCore()。byId(" backBtn")上的上一个屏幕。 请帮助确定问题。

付费偷看设置
发送
7条回答
callcenter油条
1楼-- · 2020-09-04 12:29

为了进行调试,我建议您应该删除MessageBox.show function()中的代码,并从基本示例开始。

-

 MessageBox.show("示例文字",{
  图标:MessageBox.Icon.INFORMATION,
  标题:"测试",
  动作:[sap.m.MessageBox.Action.OK,sap.m.MessageBox.Action.CANCEL],
  onClose:function(oAction){
   if(oAction ===" OK"){
    console.log(" in if");
   }其他{
    console.log(" in else");
   }
  }
 //您不需要绑定,因为此回调内置在控件中。
 }); 
Nir深蓝
2楼-- · 2020-09-04 12:29

请在描述您的问题时更加具体。 您的情况是什么? 您编写了什么代码,预期的和实际的输出是什么? 您是否在浏览器控制台中看到任何错误消息?

暮风yp
3楼-- · 2020-09-04 12:24

完成后,将表过滤器逻辑放入其中,最后放入用于MessageBox.show的"字符串"("标题") 。 让我知道,如果上述调试步骤无济于事。 关于sap.m.MessageBox控件的UI5 SDK注释-"创建的对话框是异步执行的。创建并注册渲染对话框后,此函数将返回,而无需等待用户的反应。"

SKY徐
4楼-- · 2020-09-04 12:14

这是函数-

onAfterRendering:函数(){

this.msgStrip = this.getView()。byId(" infoMsgStrip");

this.oViewModel = this._oOwnerComponent.getModel(" viewModel"); this.oViewModel.setProperty("/img/editedColumn",false); this.oViewModel.setProperty("/img/prevSelectedKey",2);

this.oViewModel.setProperty("/img/selectedKey",2);

this.oViewModel.setProperty("/img/skuBtnPress",false);

this.oViewModel.setProperty("/img/styleBtnPress",true);

this.oViewModel.setProperty("/img/enableProp",false); sap.ui.getCore()。byId(" backBtn")。attachPress(this,function(oEvent){

如果(this.getOwnerComponent()){

oEvent.preventDefault();

this.msgStrip.setVisible(false);

var oTable = this.getView()。byId(" displayTable");

var aColumns = oTable.getColumns();

var columnsModel = this._oOwnerComponent.getModel(" ColumnsModel");

var oViewModel = this._oOwnerComponent.getModel(" viewModel");

var数据;

this.oODataFilterModel = this.getOwnerComponent()。getModel(" oODataFilterModel");

data = this.oODataFilterModel.getData()。results.filter(function(item){

返回item.bEdited === true; });

if(data.length){

MessageBox.show(this.i18nModel.getProperty(" Display.controller.navBack"),{

图标:MessageBox.Icon.INFORMATION,

标题:"信息"

操作:[sap.m.MessageBox.Action.OK,sap.m.MessageBox.Action.CANCEL],

onClose:函数(sAction){

if(sAction ===" OK"){

for(var i = 0; i

{oTable.filter(aColumns [i],null); }

//that.Router.navTo(" appHome"); }}});

}其他{

for(var i = 0; i

}。bind(this));

},

微wx笑
5楼-- · 2020-09-04 12:32

为什么oAction为null-当messageBox显示时,您按OK或Cancel的哪个按钮?您可以执行的另一项测试是将代码移出onAfterRendering方法并尝试 再次。

clever101
6楼-- · 2020-09-04 12:10

消息框弹出并消失,并将用户移至上一个屏幕。 如果用户单击"取消",我希望消息框接受响应并停留在屏幕上,并且不希望用户丢失未保存的编辑。

一周热门 更多>