javascript - 如何在sap ui5中将组合框默认值设置为登录用户ID的 session

标签 javascript sapui5

我在 sap ui5 中使用组合框控件。我需要显示默认登录的用户 ID。我怎样才能做到这一点? 此默认用户 ID 是 odata 服务的一部分。例如我有 10 个数据(INC0001 到 INC0010)。如果用户 INC0004 登录,那么默认情况下我想在组合框中显示它。我现在只有第一个空白。

XML 代码:

<Select id="select1" 
        items="{ path: '/UserSet', sorter: { path: 'zuserid' } }" 
        change="handleChange">

     <core:Item text="{zuserid}" key="{zuserid}"/>
     <layoutData>
         <l:GridData span="XL2 L2"/>
     </layoutData>

</Select>

sap ui5中的 session 用户:

var userId = sap.ushell.Container.getService("UserInfo").getUser().getId();

最佳答案

您是否尝试过在 Controller 中绑定(bind)数据?

this.getView().byId("select1").bindItems({
            path: "/UserSet",
            template: new sap.ui.core.Item({
                key: "{zuserid}"
                text: "{zuserid}"
            }),
            events: {
                dataReceived: function () {
                    var userId = sap.ushell.Container.getService("UserInfo").getUser().getId();
                    this.getView().byId("select1").setSelectedKey(userId);
                }.bind(this)
            }
        });

一旦收到数据,就会触发事件dataReceived,此时可以按照@Jorg在上面的 react 中建议的方式设置ComboBox的选定键.

关于javascript - 如何在sap ui5中将组合框默认值设置为登录用户ID的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60127376/

相关文章:

OData Binding 扩展参数一对多关系

amazon-web-services - 由cloudformation部署的UI5 Web应用程序,如何创建SSM参数以便以后可以访问它们?

css - 如何在实例化对象时添加 CSS StyleClass,而不是 object.addStyleClass ("myStyle")

javascript - UI5路由不会实例化 View

javascript - 如何添加文件库并能够对其进行编辑

javascript - 检查 DraftJS 中的 contentState 是否更改或只是 editorState 的最佳性能方法

javascript - 复选框的事件处理程序未被触发

url-routing - SAPUI5 中的路由 : How to implement passing of URL? 模型数据未初始加载

javascript - 在表中选择更改选项时弹出模型

javascript - 用于平滑立方体尺寸增加的循环