EXTJS: hidden-element funktioniert nicht zeigen, bis nach setVisible-Methode
Hallo, ich möchte mir zu zeigen, und Bild, das ist wie ein Alarm-Zeichen, wenn eine änderung gemacht wird, dann habe ich ein footer-panel wie dieses, mit dem Zeichen:
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);
}
});
Und die Idee ist, dass ich eine Allgemeine Funktion, die ich nennen könnte, überall und zeigen Sie oder verstecken Sie das icon, aber leider habe ich diese Funktion aufrufen und nichts passiert:
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);
}
}
Ich versuchte, direkt durch den Aufruf der Komponente und die setVisible-Methode(true), wie gut und nichts passiert.
- Tun Sie das Symbol sehen, wenn die versteckte config auf false festgelegt ist? Tut setVisible-Methode() aufgerufen werden, bei allen (sagen wir, indem Konsole.log () - nach es)?
- Das icon hat die versteckte config true vor setVisible-Methode() aufrufen, und nachdem seine sogenannten hidden config falsch ist, aber es zeigt nicht das Symbol.
- Ja, aber wenn Sie die versteckte config auf false, können Sie das Symbol sehen, wenn die Anwendung geladen wird? Dies ist nur zu prüfen, dass es nicht ein problem mit Ihrem layout/Bild-Lage, etc.
- ja, ich kann es sehen...
- Öffnen Sie die javascript-Konsole (Firebug, Developer tools...), während Sie in Ihrer app, und führen Sie
Ext.getCmp('configchangedIcon');
. Gibt es keine Folge (außer null oder undefined (nicht definiert) ? hidden
undvisible
sind nicht das gleiche Attribut, das ist, warum das Umschalten nicht funktionieren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Holen Sie sich die footerPanel-Komponente und verwenden Sie hide/show-Methode.
wie
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.panel.Panel-Methode-ausblenden
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.panel.Panel-Methode-show