如何更改 sap.m.Select 绑定?
How to change sap.m.Select binding?
<Input value="{binding}"/>
工作正常。
但是如果我使用
<Select>
<core:Item key="{key}" text="{binding}" />
<core:Item key="1" text="O530" />
<core:Item key="2" text="O531" />
</Select>
显示为
<Select>
<core:Item key="1" text="O530" />
<core:Item key="1" text="O530" />
<core:Item key="2" text="O531" />
</Select>
但我想要的是
<Select>
<core:Item key="1" text="O530" /> (selected)
<core:Item key="2" text="O531" />
</Select>
我该怎么办?
我尝试使用setSelectedItem
,但我在控制器中使用了form.bindElement("/ProductSet('1')")
,我不知道如何将{binding}
取出来。
不知道你为什么用:
<Select>
<core:Item key="{key}" text="{binding}" /> <- This line of code?
<core:Item key="1" text="O530" />
<core:Item key="2" text="O531" />
</Select>
无论如何,这就是我要做的:
首先我的模型有 selected 键:
var model = new sap.ui.model.json.JSONModel({
data: [
{
key:'2',
text:'text'
}]
});
接下来,查看我的 sap.m.select :(我知道我的 select 只有 2 个项目,所以很难编码,否则我将为 sap.m.select 使用聚合绑定):
<Select selectedKey="{key}" id='idSelect'>
<core:Item key="1" text="O530" />
<core:Item key="2" text="O531" />
</Select>
在这里,selectedkey 将设置存储在我的模型中的密钥。
接下来,从我的 JSON 控制器模型中的元素绑定:
this.getView().byId('idSelect').setModel(model).bindElement({
path: '/data/' + 0
});
并且绑定工作正常。您可以更改 JSON 模型中的密钥,相应的密钥是 select 在 sap.m.Select 中编辑的。
<Input value="{binding}"/>
工作正常。
但是如果我使用
<Select>
<core:Item key="{key}" text="{binding}" />
<core:Item key="1" text="O530" />
<core:Item key="2" text="O531" />
</Select>
显示为
<Select>
<core:Item key="1" text="O530" />
<core:Item key="1" text="O530" />
<core:Item key="2" text="O531" />
</Select>
但我想要的是
<Select>
<core:Item key="1" text="O530" /> (selected)
<core:Item key="2" text="O531" />
</Select>
我该怎么办?
我尝试使用setSelectedItem
,但我在控制器中使用了form.bindElement("/ProductSet('1')")
,我不知道如何将{binding}
取出来。
不知道你为什么用:
<Select>
<core:Item key="{key}" text="{binding}" /> <- This line of code?
<core:Item key="1" text="O530" />
<core:Item key="2" text="O531" />
</Select>
无论如何,这就是我要做的: 首先我的模型有 selected 键:
var model = new sap.ui.model.json.JSONModel({
data: [
{
key:'2',
text:'text'
}]
});
接下来,查看我的 sap.m.select :(我知道我的 select 只有 2 个项目,所以很难编码,否则我将为 sap.m.select 使用聚合绑定):
<Select selectedKey="{key}" id='idSelect'>
<core:Item key="1" text="O530" />
<core:Item key="2" text="O531" />
</Select>
在这里,selectedkey 将设置存储在我的模型中的密钥。
接下来,从我的 JSON 控制器模型中的元素绑定:
this.getView().byId('idSelect').setModel(model).bindElement({
path: '/data/' + 0
});
并且绑定工作正常。您可以更改 JSON 模型中的密钥,相应的密钥是 select 在 sap.m.Select 中编辑的。