У меня есть три панели с тремя кнопками каждый. Когда я нажимаю кнопку «1», я хочу, чтобы другие кнопки «1» с каждой панели скрывались. Я noob с ExtJS, и я не уверен, как я должен программировать класс Controller. Пожалуйста помоги.ExtJS: кнопка скрытия контроллера после захвата события
Это класс вид:
Ext.define('EventButtons.view.Main', {
extend: 'Ext.container.Container',
xtype: 'app-main',
viewModel: {
type: 'main'
},
layout: {
type: 'border'
},
items: [{
region: 'center',
xtype: 'tabpanel',
items:[{
title: 'Buttons',
items: [{
title: 'Table1',
id:'panel1',
xtype:'panel',
bodyPadding: 10,
width: 350,
items:[{
xtype: 'button',
text: '1',
id:'1',
name:'1',
width:80,
margin: '10 10 10 10',
listeners: {
click: function() {
this.fireEvent('Name', this.text);
alert(this.name);
},
Name: function(name) {
if(this.text==name){
this.hide();
}
}}
}]
},
{
title: 'Table2',
id:'panel2',
xtype:'panel',
bodyPadding: 10,
width: 350,
items:[{
xtype: 'button',
text: '1',
width:80,
margin: '10 10 10 10',
},{
xtype: 'button',
text: '2',
width:80,
margin: '10 10 10 10',
},{
xtype: 'button',
text: '3',
width:80,
margin: '10 10 10 10',
}]
},
{
title: 'Table3',
id:'panel3',
xtype:'panel',
bodyPadding: 10,
width: 350,
items:[{
xtype: 'button',
text: '1',
width:80,
margin: '10 10 10 10',
},{
xtype: 'button',
text: '2',
width:80,
margin: '10 10 10 10',
},{
xtype: 'button',
text: '3',
width:80,
margin: '10 10 10 10',
}]
},
],
}]
}],
});
Может кто-нибудь мне помочь?
Интересная идея. Я попробую посмотреть, работает ли он. Большое спасибо!! Есть ли возможность просто заставить кнопки прослушивать событие, которое было запущено во всем приложении? А в контроллере у вас будет только метод, который запускает событие с широким распространением приложения, а другое - слушает это событие и скрывает кнопку, которая его получает. –