<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}
。
答案 0 :(得分:0)
我想知道你为什么用过:
<Select>
<core:Item key="{key}" text="{binding}" /> <- This line of code?
<core:Item key="1" text="O530" />
<core:Item key="2" text="O531" />
</Select>
无论如何,我会这样做: 首先我的模型有选择的键:
var model = new sap.ui.model.json.JSONModel({
data: [
{
key:'2',
text:'text'
}]
});
接下来,我的sap.m.select在视图中:(我知道我只有两个项目用于我的选择这么硬的代码,否则我将使用聚合绑定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模型中更改密钥,并在sap.m.Select中选择相应的密钥。