当我打开master时,专注于搜索栏

时间:2015-06-01 15:08:07

标签: sapui5

我有一个掌握详情的应用程序( HideMode 中的SplitContainer)

在我的母版页中,我有一个列表项,顶部有搜索输入。从任何页面,如果我打开主页,我总是有相同的主列表页面。

我希望当我打开主人时,焦点转到搜索输入。在此模式下,用户无需单击输入即可开始写入,但已经存在

打开SelectDialog时可以这样做吗? https://openui5.hana.ondemand.com/explored.html#/entity/sap.m.SelectDialog/samples

2 个答案:

答案 0 :(得分:1)

初始化主控制器或触发After show事件时,应实现焦点处理。 示例:

sap.ui.controller("com.view.Master", {

    onInit: function() {
        this.getView().addEventDelegate({
            onAfterShow: function(oEvent) {
                //focus handling
                sap.ui.getCore().byId("searchFieldId").focus();
            }
        });
    }
}

是的,您可以在SelectDialog控件中执行相同操作。

请参阅:SAPUI5 - Implementing Focus Handling

答案 1 :(得分:1)

我找到了解决方案。谢谢@cobeete 在我的母版页的onInit函数中,我写了:

sap.ui.getCore().byId("splitApp").attachAfterMasterOpen(function () {
            sap.ui.getCore().byId("UniversalMenu--searchItemFiled").focus();
});

其中splitApp是我的sap.m.SplitAppUniversalMenu是包含搜索字段searchItemFiled

的母版页