2012-07-12 93 views
1

你好,我想展示和形象,是喜歡當一個變化做了,那麼我有一個頁腳面板像這樣的,有標誌警告標誌:EXTJS:隱藏元素後不顯示調用setVisible

Ext.define('footerPanel', { 
    extend: 'Ext.panel.Panel', 
    cls: 'fastec_background', 
    height: 24, 
    autoScroll: false, 
    border: false, 
    layout: { 
     type: 'border' 
    }, 
    id: 'panel_footerFastec', 


    initComponent: function() { 
     var me = this; 


     Ext.applyIf(me, { 
      items: [{ 
       margin: '5 5 0 20', 
       xtype: 'label', 
       region: 'center', 
       html: '<a>© 2012 FASTEC GmbH, Paderborn, Germany - </a><a target="_blank" href="http://www.easyoee.de">www.easyOEE.de</a> <a target="_blank" href="http://www.fastec.de">www.fastec.de</a>' 
      }, { 
       xtype: 'container', 
       region: 'east', 
       layout: 'table', 
       id: 'cont_footer_icons', 
       items: [{ 
        xtype: 'image', 
        id: 'configchangedIcon', 
        height: 16, 
        margin: '5 0 5 0', 
        width: 16, 
        maxHeight: 20, 
        dock: 'right', 
        maxWidth: 20, 
        scale: 'large', 
        src: 'files/images/disk_blue.png', 
        hidden: true 
       }, { 
        xtype: 'image', 
        height: 16, 
        id: 'errorIcon', 
        margin: '5 0 5 0', 
        width: 16, 
        dock: 'right', 
        maxHeight: 20, 
        maxWidth: 20, 
        scale: 'large', 
        src: 'files/images/error16.gif', 
        hidden: true 
       }] 
      }] 
     }); 


     me.callParent(arguments); 
    } 
}); 

這個想法是我有,我可以在任何地方打電話和顯示或隱藏圖標的一般功能,但遺憾的是我把這個功能並沒有任何反應:

changeIconVisibility = function(str, value) { 
    try { 
     switch(str){ 
      case 'configchangedIcon': 
       var img = Ext.getCmp('configchangedIcon'); 
       if(value){ 
        img.setVisible(true); 
       }else{ 
        img.setVisible(false); 
       } 
      break; 
     } 
    } catch (e) { 
     Ext.msg.alert(e); 
    } 
} 

我試圖通過直接調用組件和setVisible(true)以及沒有任何反應。

+0

你看到的圖標,如果隱藏的配置設置爲false? setVisible()會被調用嗎(比如說把console.log()放在它後面)? – Izhaki 2012-07-12 09:24:47

+0

在setVisible()調用之前,圖標具有隱藏配置true,並且在其調用隱藏配置後,該圖標爲false,但不顯示圖標。 – 2012-07-12 09:42:52

+0

是的,但是如果您將隱藏配置設置爲false,那麼應用程序加載時是否可以看到圖標?這只是爲了檢查您的佈局/圖像位置沒有問題等。 – Izhaki 2012-07-12 10:07:59

回答