使用Extjs单击组合框中的函数

使用Extjs单击组合框中的函数,extjs,extjs4,Extjs,Extjs4,我使用工具栏中的extjs创建了一个组合框。当我在组合框中选择任何列表时,我想得到网格表。 考虑这个例子。 我的组合框中有3个值 1,car 2,bike 3,train 在这个组合框中,如果我选择car,那么我需要得到下面的表格。 我试过一些密码,但那是浪费。任何人请与我分享一个小例子,并告诉我如何实现它。您可以使用和最多获得其他组件。 以下是我的例子: 您可以这样做: 让父(比如说面板)容器包含工具栏(带有组合框)和三个网格 为该容器提供卡布局 处理combobox的select事件,将容

我使用工具栏中的extjs创建了一个组合框。当我在组合框中选择任何列表时,我想得到网格表。 考虑这个例子。

我的组合框中有3个值

1,car
2,bike
3,train
在这个组合框中,如果我选择car,那么我需要得到下面的表格。 我试过一些密码,但那是浪费。任何人请与我分享一个小例子,并告诉我如何实现它。

您可以使用和最多获得其他组件。 以下是我的例子: 您可以这样做:

  • 让父(比如说面板)容器包含工具栏(带有组合框)和三个网格

  • 为该容器提供
    布局

  • 处理combobox的
    select
    事件,将容器的
    activeItem
    属性设置为与所选项目相等

      Ext.create('Ext.panel.Panel', {
        layout: 'card',
        tbar: [{
            xtype: 'combo',
            fieldLabel: 'Select: ',
            value: 'Car',
            displayField: 'name',
            queryMode: 'local',
            store: {
                type: 'combo'
            },
            listeners: {
                select: function (combo, record) {
                    var val = record.get('value');
                    combo.up('panel').getLayout().setActiveItem(val)
                }
            }
        }],
        items: [{
            xtype: 'cargrid',
            activeItem: true
        }, {
            xtype: 'bikegrid',
        }, {
            xtype: 'traingrid',
        }],
        renderTo: Ext.getBody()
    });
    
    这是一个简单的工作原理。请注意,这个例子可以用一个网格类定义来简化


  • 更新:如果是5.x版或更高版本,那么您可以通过绑定来完成。请参阅示例。

    谢谢您的回答,但如果我在下拉列表中选择了一个只应显示的列表…如果我选择了下一个只应显示的列表,请再次选择