gpt4 book ai didi

javascript - SAPUI5:表单完全呈现时获取事件

转载 作者:行者123 更新时间:2023-12-03 10:54:27 25 4
gpt4 key购买 nike

我正在创建一个 SAPUI5 VBox,其中包含能够打印数据的表单和表单容器。由于表单的绑定(bind)和创建是异步发生的,因此当表单完全呈现时我无法捕获事件。

我尝试了 VBox 的 onAfterRendering,但这触发得太早了。因此,我做了一个丑陋的修改,并将 onAfterRendering 事件附加到我创建的最后一个表单中。不过,这似乎运作良好。

createContent: function(oController) {
var that = this;

this.addEventDelegate({
onBeforeShow: function(oEvent) {
// load data
}
});

this.oVBox = new sap.m.VBox("vbox");

this.oVBox.setModel(this.oModel);

this.bFirst = true;

this.oVBox.bindAggregation("items", {
path: "/",
factory: function(siD, oContext) {
// create form and set binding context
// ugly hack:
if (that.bFirst === true) {
that.bFirst = false;
oForm.onAfterRendering = function() {
that._onAfterFormRendering();
}
}
return oForm;
}
});

// default is read only
this.oPage = new sap.m.Page({
content: [ this.oVBox ]
});

return this.oPage;
},

_onAfterFormRendering: function() {
this.oPage.setBusy(false);
// handle printing
}

有什么想法吗?

谢谢

最佳答案

您可以尝试jquery Page onAfterShow

onInit : function() {
this.getView().addEventDelegate({
onAfterShow : jQuery.proxy(function(evt) {
this.onAfterShow(evt);
}, this)
});
},


onAfterShow : function(evt) {

//Try reading the data from the forms here

}

请告诉我这是否可以解决您的问题。否则,请发布更多代码以更好地理解问题。

关于javascript - SAPUI5:表单完全呈现时获取事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28316764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com