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('');
}
})
当我点击按钮时,图标没有改变,有什么建议我可能在这里做错了吗?
答案 0 :(得分:0)
使用时:
var myBtn = sap.ui.getCore().byId("manualimage");
你的var myBtn是未定义的,因为使用按钮的sap.ui.getCore()id期望类似于:
sap.ui.getCore().byId("__xmlview1--manualimage");
其中__xmlview1--由框架自动生成。所以请改用此代码:
var myBtn = this.byId("manualimage");
答案 1 :(得分:0)
下面是我正在运行的代码(在UI5版本1.42上)。 我只发现一个错误:你应该使用ToggleButton来保持Button的状态。如果按下则删除图像或按下后将图像设置回(即未按下)。
XML格式的代码:
<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');
}
}
如果这对您有用,请告诉我。