2017-01-04 2 views
0
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(''); 
       } 
      }) 

Когда я нажимаю на кнопку, значок не меняется, любые предложения о том, что я могу делать неправильно здесь?Не удалось переключить кнопку ui5

ответ

0

Ниже приведен код, который работает (в версии 1.1 UI5). Я нахожу только одну ошибку: вы должны использовать ToggleButton, чтобы сохранить состояние кнопки. Скажем, удалите изображение, если нажать или установить изображение назад при нажатии (т. Е. Не нажата).

код в 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'); 
     } 
    } 

Позвольте мне знать, если это работает для вас.

+0

Он отлично работает спасибо человеку –

+0

@ArmoghanAbbas Рад, что я мог помочь. Отметьте вопрос как ответ PLS :) –

0

При использовании:

var myBtn = sap.ui.getCore().byId("manualimage"); 

ваш вар myBtn не определен, потому что с помощью sap.ui.getCore() идентификатор кнопки ожидает что-то вроде:

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

где __xmlview1-- является автогенерируется каркасом. Поэтому, пожалуйста, используйте этот код:

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

this.byId используется, когда вы использовали представление XML или метод createId контроллера. Пожалуйста, проверьте мой ответ в этой ниже ссылке: http://stackoverflow.com/questions/41437236/sapui5-js-in-controller-table-is-not-binding –

+0

благодарит Джаро, это не так. е {bAllowTextSelection: истинно, mEventRegistry: Object, Sid: "manualimage", mProperties: д, mAggregations: Object ...} Я пытался печати myBtn в консоли и получил вышеупомянутый выход, поэтому myBtn получает входной сигнал предполагается получить. Я думаю, что myBtn.setIcon ('') работает неправильно. –

+0

@ArmoghanAbbas: Вы имеете в виду, что он не переключает изображение на клики, или вы не хотите, чтобы он не удалял изображение после первого щелчка? –

Смежные вопросы