Sapui5 无法切换ui5按钮

Sapui5 无法切换ui5按钮,sapui5,Sapui5,当我点击按钮时,图标没有改变,有什么建议我可能在这里做错了什么吗?当您使用: new sap.m.Button("manualimage",{ icon : 'resources/Green.JPG', width : "40px", height : "40px", press :function(e) { var myBtn

当我点击按钮时,图标没有改变,有什么建议我可能在这里做错了什么吗?

当您使用:

new sap.m.Button("manualimage",{
                icon : 'resources/Green.JPG',
                width : "40px",
                height : "40px",
                press :function(e) { 
                    var myBtn = sap.ui.getCore().byId("manualimage");
                    console.log(document.getElementById("manualimage").icon);
                    myBtn.setIcon('');
                }
            })
您的var myBtn未定义,因为使用button的sap.ui.getCore()id需要类似以下内容:

var myBtn = sap.ui.getCore().byId("manualimage");
其中_xmlview1--由框架自动生成。因此,请使用以下代码:

sap.ui.getCore().byId("__xmlview1--manualimage"); 

下面是我正在工作的代码(在UI5版本1.42上)。 我只发现一个错误:您应该使用ToggleButton来保持按钮的状态。按下时说出移除图像,或按下时将图像设置回原位(即未按下)

XML代码:

var myBtn = this.byId("manualimage");

让我知道这是否适合你

当您使用XML视图或控制器的createId方法时,将使用this.byId。请在下面的链接中查看我的回复:谢谢Jaro,这里不是这样。f{bAllowTextSelection:true,meventergistry:Object,sId:“manualimage”,mproperty:d,mAggregations:Object…}我尝试在控制台中打印myBtn并得到上面的输出,所以myBtn得到了它应该得到的输入。我认为myBtn.setIcon(“”)工作不正常。@Armoghnabbas:你是说它没有在单击时切换图像,还是说它没有在第一次单击后删除图像?@Rahul:它甚至在多次单击后也没有做任何事情clicks@ArmoghanAbbas很高兴我能帮忙。将问题标记为已回答,请:)
<ToggleButton icon='./images/ICICI.png' text ='hey' pressed='false' press='handlePress' />
handlePress: function(evt) {
        var oSource = evt.getSource()
        var bPressed = oSource.getPressed();
        if(bPressed) {
            oSource.setIcon('');
        } else {
            oSource.setIcon('./images/ICICI.png');
        }
    }