我有一个使用 OpenUI5 的带有很多控件(ComboBoxes
、TextAreas
、RadioButtons
)的表单。我用 C++ 在服务器端给出控件的值。我想要的是有一个重置按钮,它将清除用户的选择并将控件恢复为默认选择。到目前为止,我能够将表单和控件作为 JS 对象,如下所示:
this.byId("MainForm").getModel();
到目前为止我唯一能做的就是像这样完全清除所有控件:
this.byId("MainForm").getModel().setData(null);
例如,我有一个 ComboBox
,我的模型的默认值是第二个选择。我怎样才能保留这个值并将其设置回控件?
最佳答案
使用 API相应的控制。 sap.m.ComboBox
具有方法 setSelectedKey(sKey)
。 sap.m.TextArea
具有方法 setValue(sValue)
。 sap.m.RadioButton
具有方法 setSelected(bSelected)
。
将 press
事件绑定(bind)到您的重置按钮。在您的新闻发布会上获取表单的控件。然后使用各自的方法将窗体的控件重置为其初始状态。
<!-- 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");
...
}
从后端获取表单控件的初始值或将它们保存在前端的本地模型中。
关于javascript - 如何在 SAPUI5 中将控件重置为其初始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52439991/