如何使用“选择”设置默认值?

时间:2019-05-29 03:04:55

标签: javascript sapui5 sap

如何使用select事件设置默认值?目前,我只是在EDIT模式下对selectedKey="USD"进行了硬编码,因此,当用户单击另一个值(例如:CAD)时,它不会在VIEW模式下将该值更新为CAD

<Select id="idCurrency" items="{/VH_CurrencySet}" selectedKey="USD">
    <items>
        <core:Item text="{Text}" key="{Code}" />
    </items>
    <layoutData>
        <l:GridData span="XL2 L3 M3 S5" />
    </layoutData>
</Select>

在“查看”模式下,货币应显示为CAD

3 个答案:

答案 0 :(得分:0)

您需要为控件设置更改功能:

<Select id="idCurrency" items="{/VH_CurrencySet}" selectedKey="USD" change="yourfunction">
    <items>
        <core:Item text="{Text}" key="{Code}"/>
    </items>
    <layoutData>
        <l:GridData span="XL2 L3 M3 S5"/>
    </layoutData>
</Select>

之后,您在控制器内实现yourfunction函数。

答案 1 :(得分:0)

过时的,我更喜欢尽可能地利用绑定。

如果在模型“ / CurrencySelected”中添加条目,则所选值将永久反映在模型中。

  

controller.js

align-self-left
  

view.xml

// somewhere on model init
// If you want to keep USD as default value, otherwise first one will be affected automatically
model.setProperty('/CurrencySelected', 'USD')

// To consume the currency
const currentCurrency = model.getProperty('/CurrencySelected')

答案 2 :(得分:0)

您是对的-您不应该对所选密钥进行硬编码。 数据加载完成后,您应该在代码中设置Selected Key(例如,通过将函数附加到正在加载的模型上的attachRequestCompleted事件中) 这意味着USD只能是初始的默认值。

然后,“选择”控件将显示您选择的货币。 相信这有意义吗?

<Select id="idCurrency" items="{/VH_CurrencySet}">
    <items>
         <core:Item text="{Text}" key="{Code}"/>
    </items>
</Select>

如果需要访问货币代码,可以将变量绑定到selectedKey。