2016-04-04 1 views
0

У меня есть панель инструментов, имеющие одну кнопки следующегопоказать Скрыть панель инструментов Элементов

{ text: 'Save', tooltip: 'Save report', iconCls: 'some-cls', handler: 'somehandler' } 

Я хочу, чтобы скрыть эту кнопку для некоторого условия.

для этого я получаю элементы панели инструментов и скрываю/показываю элементы следующим образом.

showHideToolbarItems: function(titles) 
{ 
    tbarItems = getToolbarItems(); // Getting items successfully 
    for (var i = 0, len = tbarItems.count; i < len; i++) { 
     var item = tbarItems.itemAt(i); 
     if (titles.indexOf(item.text) > -1) 
     { 
      item.setVisible(false); 
     } 
    } 
} 

Я называю эту функцию как showHideToolbarItems(['Save']);
Но я получаю ошибку SetVisible не является функцией.

Что я делаю неправильно здесь

+0

Здравствуйте Microsoft DN –

+0

какая у вас версия extjs? – aviram83

+0

Просьба указать правильный код в fidller, я проверю вашу ошибку в fiddler –

ответ

2

Вы можете добавить ссылку на кнопку для быстрого доступа и правильного подхода

{ 
    text: 'Save', 
    reference: 'saveBtn', 
    tooltip: 'Save report', 
    iconCls: 'some-cls', 
    handler: 'somehandler' 
} 

и внутри ViewController:

showHideToolbarItems: function(titles) 
{ 
    var view = this.getView(), 
     saveButton = view.lookupReference('saveBtn'); 

     saveButton.hide(); 
     //saveButton.show(); 
} 
+0

спасибо .. отлично работает –