2016-10-28 45 views
0

<Input value="{binding}"/>工作正常。如何更改sap.m.Select綁定?

但是,如果使用

<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>

守什麼ld我呢?

我試過用setSelectedItem,但是我在控制器中用form.bindElement("/ProductSet('1')"),我不知道怎麼把{binding}拿出來。

回答

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' 
         }] 
       }); 

接下來,我的汁液。 m.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模型中更改密鑰,並在sap.m.Select中選擇相應的密鑰。

+0

謝謝,我解決了我的問題,通過使用'setSelectedKey' – Tina