我在 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/