如何使用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
。
答案 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。