使用模型进行ID分配

时间:2014-12-03 14:40:48

标签: sapui5

我尝试使用模型绑定为我的选择控件中的项目分配ID,但以错误结束。

这是我的代码:

型号:

{
    "languages": [
        {
        "language": "English",
        "locale": "en"
        }, 
        {
        "language": "German",
        "locale": "de"
        }
    ]
}

选择控件:

var oLanguageSelection = new sap.m.Select({
            name:   'languageSelection',
            id:     'languageSelection',
            items: { 
                path: "languages>/languages",
                template: new sap.ui.core.Item({
                    id: "{languages>locale}", //this is the problematic part
                    text: "{languages>language}",
                }),

            },
});

我收到错误:

Uncaught Error: "{languages>locale}" is not a valid ID.

是否有可能做我想做的事情 - 使用模型绑定分配元素ID?

谢谢。

1 个答案:

答案 0 :(得分:2)

我认为id不可绑定。 ID指的是也在DOM中使用的控件ID。您应该使用key属性来实现您想要做的事情:)

var oLanguageSelection = new sap.m.Select({
    name:   'languageSelection',
    id:     'languageSelection',
    selectedKey: "{languages>/languages/0/locale}", // you might want to set a default selection
    items: { 
        path: "languages>/languages",
        template: new sap.ui.core.Item({
            key: "{languages>locale}", // no longer problematic ;)
            text: "{languages>language}"
        })  
    }
});