gpt4 book ai didi

data-binding - SimpleForm 上的 SAPUI5 数据绑定(bind)

转载 作者:行者123 更新时间:2023-12-04 05:25:17 24 4
gpt4 key购买 nike

我在尝试在简单表单上绑定(bind)数据时遇到问题。我正在使用模拟服务器并已成功将数据绑定(bind)到列表/表

我的 manifest.json 看起来像这样

"mock": {
"dataSource": "mainService"
}

我的 mockdata(UserDetailsS​​et.json) 看起来像这样
[{
"ID_PassNum": "cu001",
"Title": "Mr",
"Name": "Don",
"Surname": "Ownery",
"ResType": "SA",
"Country": "South Africa"
}]

我的 SimpleForm 字段看起来像这样
<Label text="Name" />
<Input value="{mock>/UserDetailsSet/0/Name}" />
<Label text="Surname" />
<Input value="{mock>/UserDetailsSet/0/Surname}"/>

我错过了什么?

最佳答案

您似乎在使用 ODataModel .在 ODataModels 中,针对集合/聚合的绑定(bind)并不像使用 JSONModel 那样容易。您不能使用 collection/index/property 访问/绑定(bind)属性句法。

ODataModels 如何存储数据

如果您加载像 UserDetailSet 这样的实体集存储在 ODataModel 中的数据看起来有点像这样:

{
UserDetailSet('00001'): { ... },
UserDetailSet('00002'): { ... },
UserDetailSet('00003'): { ... },
UserDetailSet('00004'): { ... }
}

而“00001”等是实体键。如果您在 UserDetailSet 上创建聚合绑定(bind)ODataListBinding 将处理将上述数据转换为每个项目的上下文。

ODataModel 上的属性绑定(bind)

您的绑定(bind)必须如下所示:
<Label text="Name" />
<Input value="{mock>/UserDetailSet('00001')/Name}" />
<Label text="Surname" />
<Input value="{mock>/UserDetailSet('00001')/Surname}"/>

ODataModel 上的动态属性绑定(bind)

或者 - 更动态一点 - 像这样绑定(bind)(注意:绑定(bind)现在是相对的,没有前导 / ):
<SimpleForm id="MyForm">
<Label text="Name" />
<Input value="{mock>Name}" />
<Label text="Surname" />
<Input value="{mock>Surname}"/>
</SimpleForm>

并动态使用 bindElement在 SimpleForm 本身:
this.getView().byId("MyForm").bindElement({
path: "/UserDetailSet('"+ sUserID +"')",
model: "MyOdataModelID",
// use OData parameters here if needed
parameters: {
"expand": "UserAdress"
},
// react on binding events here
events: {
change: function (oEv) { },
dataRequested: function (oEv) { },
dataReceived: function (oEv) {}
}
});

BR
克里斯

关于data-binding - SimpleForm 上的 SAPUI5 数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39048699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com