extjs mit up und down Methoden
Ich versuche zu verwenden up
und down
zu nennen, anstatt Ext.getCmp
aber ich bin mir nicht ganz verstehen. Ich habe diesen code
listeners: {
'change': function(field, selectedValue) {
//Ext.getCmp('wildAnimal').setValue(selectedValue);
this.up('form').down('#wildAnimal').setValue(selectedValue);
}
}
in diesem größeren code
Ext.define('ryan', {
constructor: function() {
Ext.create('Ext.form.Panel', {
bodyStyle: {"background-color":"green"},
name: 'mypanel',
title: 'Animal sanctuary, one animal per location ',
width: 300,
bodyPadding: 10,
test: 'mycat',
style: 'background-color: #Fdd;',
renderTo: Ext.getBody(),
items: [{
itemId: 'button1',
xtype: 'button',
text: 'click the button',
handler: function() {
alert('(<^_^>)');
}
},{
itemId: 'wildAnimal',
xtype: 'textfield',
fieldLabel: 'animal:',
name: 'myanimal'
},{
itemId: 'myCombo',
xtype: 'combo',
fieldLabel: 'choose your animal',
store: animals,
queryMode: 'local',
displayField: 'name',
listeners: {
'change': function(field, selectedValue) {
//Ext.getCmp('wildAnimal').setValue(selectedValue);
this.up('form').down('#wildAnimal').setValue(selectedValue);
}
}
}]
});
}
});
var animals = Ext.create('Ext.data.Store', {
fields: ['itemId', 'name'],
data: [{
"itemId": 'mycat',
"name": "mycat"
},{
"itemId" : 'mydog',
"name": "mydog"
},{
'itemId' : 'sbBarGirls',
"name": "BarGirls-when-drunk"
}]
});
Ext.onReady(function() {
var a = Ext.create('ryan');
var b = Ext.create('ryan');
});
Was ich bin verwirrt, ist, warum brauche ich den hashtag in wildAnimal
damit dies funktioniert. Auch wenn ich switch Ext.form.Panel
zu widget.window
die Zuhörer code nicht mehr funktioniert. Mein code erzeugt ein Fenster, aber ich kann nicht, übergeben Sie den Wert von der combobox, wie kann ich, wenn es ein Formular-panel. Wie ich es verstehe up
verwendet wird, finden Sie Dinge, die aus der übergeordneten Klasse. Bei Verwendung eines widget.window
rufe ich this.up(widget)
? Ich kann nicht, dass, um zu arbeiten. Auch ich bin sehr neu in Ext JS so viele Dinge können gehen Sie über meinem Kopf >__<.
InformationsquelleAutor Ryan Williams | 2013-07-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
up
unddown
Methoden werden verwendet, um die traverse Komponente Baum.Bei der Verwendung
up
unddown
mit Selektoren, die Standard-Selektor prüft der xtype der Komponente. Soup('form')
bedeutet "halten zu gehen, bis die Komponente Baum, bis Sie eine form finden." Die#wildAnimal
Selektor bedeutet "weiter nach oben gehen, bis du die Komponente finden, wo die id == 'wildAnimal'". Wenn Sieup()
mit keine Selektoren gibt es den übergeordneten container.Wenn Sie entscheiden, zu verwenden
Ext.window.Window
stattExt.form.Panel
müssen Sie ändern Sie alle vorkommen vonup('form')
mitup('window')
. Andernfalls, wenn Sie wissen, dass "myCombo" und "wildAnimal" sind Geschwister-Komponenten können Sie einfachup().down('#wildAnimal')
und es wird funktionieren, nach dem ändern der Art der Eltern-container.Nur wenn Sie auswählen möchten, auf
id
oderitemId
. Andere Methoden wieExt.getCmp
angenommen, dass die Eingabe-string ist eine ID und nicht erfordern, dass der hashtag.InformationsquelleAutor Eric
Den symantics der up-und down-Verfahren Folgen dem ComponentQuery Klasse. Empfehle Ihnen, Lesen Sie die API-docs. Und siehe auch unten für die ersten Schritte mit ExtJS.
Glück!
Ich bin einfach nur gehen zu lassen das hier für Sie.
Dies ist eine erste-Schritte-Liste der Ressourcen, die ich zusammen gestellt habe für meine Kollegen:
Offensichtlich sind links zu ExtJS4.1, aber fühlen Sie sich frei zu greifen, die gleich für die neueste version.
API :
http://docs.sencha.com/ext-js/4-1/
Beispiele :
http://dev.sencha.com/deploy/ext-4.1.0-gpl/examples/
Guides :
http://docs.sencha.com/ext-js/4-1/#!/guide
Ressourcen:
Sencha Forum :
http://www.sencha.com/forum/
StackOverflow :
https://stackoverflow.com/questions/tagged/extjs
Tools:
Firebug-Plugin (Beleuchtungen für Entwickler)
http://www.illuminations-for-developers.com/
Wie, Um Loszulegen
Sobald Sie mit diesen Konzepten vertraut sind, entscheiden, welche Komponenten Sie verwenden möchten, und nehmen Sie einen genaueren Blick auf die speziellen Führungen unter dem Komponenten Abschnitt. Ich würde dir auch raten mit dem Lesen der App-Architektur tutorials.
InformationsquelleAutor dbrin
Hatte ich Probleme mit
Ext.getCmp("id")
, so scheint die beste LösungExt.up/down()
,und habe es erklärt sehr gut in diesem Thema:
https://www.sencha.com/forum/showthread.php?258048-Clarify-getCmp-vs-Up-down,
Hoffe, es hilft für alle, die nicht scheinen, um es zu verstehen.
InformationsquelleAutor Egzonr