javascript - 如何在openui5中调用/重新渲染按钮

标签 javascript jquery html sapui5

我正在使用下面的 openui5 切换按钮,按下时为蓝色,为 true,为 false 时为灰色。但按钮的值会在某个时间点发生变化。是否可以显式调用按钮来重新渲染它。

 var   oToggleButton1 = new sap.ui.commons.ToggleButton({
                                    text : "Auto-Update",
                                    tooltip : "Update toggle.",
                                    pressed : true,
                                    press : function() {

                                        if(oToggleButton1.getPressed() == true){
                                            buttonStatus = "ON";
                                        }
                                        else{
                                            buttonStatus = "OFF";
                                        }                                                           
                                        var oDialog1 = new sap.ui.commons.Dialog();
                                        oDialog1.setTitle("Alert!");    
                                        //alert('Auto update is turned '+buttonStatus);
                                        oDialog1.addContent(new sap.ui.commons.TextView({text: "Auto update is turned "+buttonStatus}));
                                        //oDialog1.addButton(new sap.ui.commons.Button({text: "OK", press:function(){oDialog1.close();}}));
                                        oDialog1.open();
                                        oDialog1.close();
                                        refreshButtonDisplay=oToggleButton1.getPressed();
                                    },
                                    layoutData: new sap.ui.layout.GridData({span: "L12 M12 S12"}),
                                  }),

最佳答案

最好将 ToggleButton 的按下属性绑定(bind)到模型中的属性,并让 UI5 的绑定(bind)魔法来处理所有这些事情。如果 UI5 发现模型中的属性发生更改,它将检查该属性的绑定(bind),以查看是否有任何 UI 控件因此需要更新。如果您已将 ToggleButton 绑定(bind)到该属性,UI5 将更新/重新呈现 ToggleButton。

您还可以直接从 Controller 更改 ToggleButton 的“pressed”属性,例如:oToggleButton1.setPressed(false) 也可以解决问题。

关于javascript - 如何在openui5中调用/重新渲染按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34945589/

相关文章:

javascript - 单击后闪烁行或在表格单元格中切换

javascript - 使用 UglifyJS 缩小多个文件

android - 如何使网络应用程序在所有移动设备上正常打开?

javascript - 调整大小的 CSS 调整大小句柄 : both property

javascript - jQuery AJAX : load HTML into DIV element after click

javascript - Angular Testing : How can I test angular promise with ajax in it?

javascript - for 循环内的 SetTimeout

jquery - 如何使用 JQuery 在任何给定时间仅向一个 <label> 添加 CSS 类?

javascript - 如何从任何元素获取 img 标签?

android - HTML anchor 标记(在 jquery mobile 中)在 Android 上不起作用