Скрыть и показать элемент
В этот раз моя проблема - заставить предмет появляться и исчезать. Я знаю, что это сделано с hide()
а также show()
Но я не знаю как? Вот мой код Я хочу, чтобы xtype появился: "datepickerfield", когда я выбираю "Встречу" в "selectfield"
App.views.Bankingrendezvous = Ext.extend(Ext.Panel, {
items: [{
xtype: 'formpanel',
id: 'form',
fullscreen: true,
scroll: 'vertical',
items: [{
xtype: 'fieldset',
title: 'Information & Appointment',
},
{
xtype: 'selectfield',
id: 'request',
label: 'You need',
options: [
{
text: 'Appointment',
value: 'Appointment'
},
{
text: 'Information',
value: 'Information',
}]
},
{
xtype: "datepickerfield",
id: "startDate",
label: "when",
picker: { yearFrom: 2012, yearTo: 2020}
},}]
}]
});
Ext.reg('Bankingrendezvous', App.views.Bankingrendezvous);
благодарю вас. Я пытался, как вы говорите:
{
xtype: "datepickerfield",
id: "startDate",
label: "when",
picker: { yearFrom: 2012, yearTo: 2020}
this.items.getAt().hide();
},
но это не работает
items: [{
xtype: 'formpanel',
id: 'form',
fullscreen: true,
scroll: 'vertical',
items: [{
xtype: 'fieldset',
title: 'Information & Appointment',
},
{
xtype: 'selectfield',
id: 'request',
label: 'You need',
options: [
{
text: 'Appointment',
value: 'Appointment'
},
{
text: 'Information',
value: 'Information',
}],
listeners: {
function()
{
if (Ext.getCmp('request').getValue() == 'Information')
{
Ext.getCmp('startDate').hide();
}
}
},
},
{
xtype: "datepickerfield",
id: 'startDate',
label: "when",
picker: { yearFrom: 2012, yearTo: 2020},
},
я пробовал это, но это не работает
1 ответ
Вы можете использовать любой из двух методов: hide()/show()
или же setVisible(true/false)
,
Если вы хотите получить доступ к своим элементам внутри объекта (например, внутри события initComponent()), используйте следующее предложение:
this.items.getAt(<index of item>).hide();
this.items.getAt(<index of item>).show();
Чтобы установить доступ к элементу вне класса, вы делаете это с помощью метода getCmp():
var el = Ext.getCmp("elementID");
а затем получить доступ к элементу и установить его видимость.
el.items.getAt(<index of item>).setVisible(false); // hide
el.items.getAt(<index of item>).setVisible(true); // show