使用sap.m.Input时,我可以像下面的示例中那样配置元素,以便设置绑定到Input的项目的类型:
<mvc:View>
<Input value="{
path:'/company/revenue',
type: 'sap.ui.model.type.Float'
}"/>
</mvc:View>
这样,当我在&#39; / company / revenue&#39;中检索属性时,其类型将始终是JavaScript编号。但是,是否可以应用类似的&#34;打字&#34;一个sap.m.Select?该物业&#34; selectedKey&#34;在sap.m.Select内部总是返回一个JavaScript字符串,但是我想将它输入到与上面的sap.m.Input相同的数字。我该怎么做?提前谢谢!
答案 0 :(得分:2)
是的,你可以这样做。它只是一个普通的属性绑定。
但要注意Select
控件中项目的键必须与Float类型兼容。没有任何formatOptions的sap.ui.model.type.Float
生成依赖于语言环境的字符串。所以在德国f.e.你得到一个,
小数分隔符,而在美国则是.
。
一个好主意是使用聚合绑定来创建项目,并使用与select的selectedKey属性相同的类型配置项目的键。请参阅JSbin上的示例。
<Select
selectedKey="{path:'/selectedKey',type: 'sap.ui.model.type.Float'}"
items="{/items}">
<c:ListItem
key="{path: 'key', type: 'sap.ui.model.type.Float'}"
text="{text}"/>
</Select>
onInit:function(){
var data = {
selectedKey:3,
items: [
{ key: -1, text: "Item 1" },
{ key: 1.234, text: "Item 2" },
{ key: 3, text: "Item 3" },
{ key: 1234, text: "Item 4" }
]
};
var model = new sap.ui.model.json.JSONModel(data);
this.getView().setModel(model);
}