Próbuję użyć up
i down
, aby zadzwonić, a nie Ext.getCmp
, ale nie całkiem rozumiem. Mam ten kodextjs za pomocą metody "w górę iw dół"
listeners: {
'change': function(field, selectedValue) {
// Ext.getCmp('wildAnimal').setValue(selectedValue);
this.up('form').down('#wildAnimal').setValue(selectedValue);
}
}
wewnątrz tej większej kodu
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');
});
Co jestem mylić dlatego muszę hashtag w wildAnimal
uzyskać tej pracy. Również po przełączeniu Ext.form.Panel
na widget.window
kod słuchaczy przestaje działać. Mój kod tworzy okno, ale nie mogę przekazać wartości combobox tak jak ja, gdy jest to panel formularza. Jak rozumiem, do znajdowania rzeczy z klasy nadrzędnej używane jest up
. Podczas korzystania z widget.window
czy mogę zadzwonić pod numer this.up(widget)
? Nie mogę tego zmusić do działania. Ponadto jestem bardzo nowy w Ext JS, więc wiele rzeczy może się zdarzyć nad moją głową> __ <.
czy zawsze muszę mieć znacznik hash ?? Widziałem przykłady bez hastag –
Tylko jeśli chcesz wybrać na 'id' lub' itemId'. Inne metody, takie jak 'Ext.getCmp', przyjmują, że ciąg wejściowy jest identyfikatorem i nie wymaga hashtagu. – Eric