我有以下问题:
我有2个带有几个输入字段的XML视图,在导航到第二个视图时,焦点应该是第5个(ID =“RueckmeldeNr”)字段。
我尝试了几件事,但没有任何效果......
如果我使用jQuery delayedCall,焦点会在输入字段上快速闪烁,但会立即设置为左上角的NavBack按钮。
我使用假法或遗忘的方法吗?我该如何解决这个问题?
onAfterRendering : function(oEvent) {
oInputRueck = this.getView().byId("RueckmeldeNr");
// this.getView().byId("RueckmeldeNr").focus();
// this.getView().byId("RueckmeldeNr").$().focus();
// jQuery.sap.delayedCall(200, this, function() {
// //this.getView().byId("RueckmeldeNr").focus();
// oInputRueck.focus();
// });
// var oFocusInfo = this.getView().byId("RueckmeldeNr").getFocusInfo()
// this.getView().byId("RueckmeldeNr").applyFocusInfo(oFocusInfo);
jQuery.sap.delayedCall(0, this, function() {
oInputRueck.focus();
});
},
我希望你能帮帮我! 谢谢
答案 0 :(得分:2)
答案由我自己解决。
我只是把delayedCall放在500毫秒上就可以了。
jQuery.sap.delayedCall(500, this, function() {
this.getView().byId("RueckmeldeNr").focus();
});
答案 1 :(得分:1)
只是一个建议:
您可以将焦点设置到视图中的所需字段(或您定义的位置)。
例如,在view1中定义:
var oInput = new sap.m.Input({id: "inputID"})
.addEventDelegate({
onAfterRendering: function(){
oInput.focus();
}
});
然后,当您调用视图时,焦点应自动设置为必填字段。
这是一个有效的JSBIN示例:LINK