Javascript SAPUI5将焦点设置在输入字段上

Javascript SAPUI5将焦点设置在输入字段上,javascript,sapui5,Javascript,Sapui5,我有以下问题: 我有两个带有几个输入字段的XML视图,在导航到第二个视图时,重点应该放在第五个(ID=“RueckmeldeNr”)字段上 我尝试了几件事,但都没用。。 如果我使用jQuery delayedCall,焦点会在输入字段上短暂闪烁,但会立即设置为左上角的导航按钮。 我使用的方法是错误的还是忘记了什么?我怎样才能解决这个问题 onAfterRendering : function(oEvent) { oInputRueck = this.getView().byId("Rueckme

我有以下问题:

我有两个带有几个输入字段的XML视图,在导航到第二个视图时,重点应该放在第五个(ID=“RueckmeldeNr”)字段上

我尝试了几件事,但都没用。。 如果我使用jQuery delayedCall,焦点会在输入字段上短暂闪烁,但会立即设置为左上角的导航按钮。
我使用的方法是错误的还是忘记了什么?我怎样才能解决这个问题

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();
    });
},
我希望你能帮助我

谢谢

答案由我自己解决

我刚刚把延迟通话拨到500毫秒,它就成功了

jQuery.sap.delayedCall(500, this, function() {
    this.getView().byId("RueckmeldeNr").focus();
 });
只是一个建议:

您可以将焦点设置为视图中所需的字段(或定义该字段的位置)

例如,在view1中定义:

var oInput = new sap.m.Input({id: "inputID"})
.addEventDelegate({
    onAfterRendering: function(){
        oInput.focus();
    }
});
然后,调用视图时,焦点应自动设置为必填字段


这里是一个工作的JSBIN示例:

它可以工作,但是ms高于
0
时,使用适当的事件,例如,
之后*
。。。这取决于哪个控件被用作容器。我在绝望中尝试了这个,虽然它有点工作,但它是一个黑客。最终,我通过在sap.m.App容器上设置autoFocus=false正确地解决了这个问题。这个答案要归功于@schnoedel:在没有导航的情况下,这非常有效。然而,当它是时,第一个可聚焦控件(不一定是输入)将在用户返回导航时聚焦,因为在返回导航时控件不会被重新渲染。在这种情况下,我们需要利用。可能重复的