我有一个使用OpenUi5的带有很多控件(组合框,TextAreas,RadioButtons)的表单。我在C ++中提供了服务器端控件的值。我想要的是有一个重置按钮,该按钮将清除用户的选择,并使用默认选项将控件还原为默认状态。到现在为止,我已经能够将表单和控件作为这样的JS对象:
this.byId("MainForm").getModel();
到目前为止,我唯一能做的就是完全清除所有这样的控件:
this.byId("MainForm").getModel().setData(null);
例如,我有一个ComboBox,而我模型的默认值是第二选择。如何保留该值并将其重新设置为控件? 谢谢
答案 0 :(得分:2)
使用相应控件的api。 sap.m.ComboBox
采用方法setSelectedKey(sKey)
。 sap.m.TextArea
采用方法setValue(sValue)
。 sap.m.RadioButton
采用方法setSelected(bSelected)
。
将press
事件绑定到您的重置按钮。在您的新闻事件中获取表单的控件。然后使用各自的方法将表单的控件重置为其初始状态。
<!-- in your e.g. xml view -->
<Button type="Reject" text="Reset" press="onPressResetButton"></Button>
// in your js controller
onPressResetButton: function() {
...
var oComboBox = this.byId("your-combo-box-id");
oComboBox.setSelectedKey("your-initial-item-key");
...
}
从后端获取表单控件的初始值,或将其保留在前端的本地模型中。
答案 1 :(得分:1)
我认为实现此目标的最佳方法是拥有两个模型。一种是您的odata模型,该模型从服务器获取数据,第二种是具有本地json模型。
希望这种方法有所帮助。