无法切换ui5按钮

时间:2017-01-04 15:05:25

标签: sapui5

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('');
                }
            })

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

2 个答案:

答案 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');
        }
    }

如果这对您有用,请告诉我。