1

我正在创建一个带有动态菜单的 ExtJS MVC 应用程序。我有几个菜单元素将调用同一个屏幕(在布局中设置活动卡),但每次都需要传递不同的值作为参数。因此,一张卡片可以根据将用作过滤器的参数显示不同的数据。

我的菜单元素有一个点击监听器:

listeners: {
    itemclick: function(view, record, item, index, e){
    Ext.getCmp('contentpanel').layout.setActiveItem(record.getId());
    }
}

记录 ID 将是我设置为活动的卡。如何将参数传递给卡?

4

1 回答 1

0

如果需要,您可以向面板添加另一个属性。例如:

Ext.define('YourApp.view.YourCardPanel' ,{
  extend: 'Ext.panel.Panel',
  id: 'contentpanel',
  alias : 'widget.yourcardpanel',
  layout: 'card',
  newParam: null, // Just to know that this attribute exists but there is no need to declare it.
  items: [],
  changeLayout: function(){
     if (this.newParam == 'new value')  {
         // Do your stuff
     }
  }
});

然后您可以更改该参数的值。

listeners: {
  itemclick: function(view, record, item, index, e){
    var cardPanel = Ext.getCmp('contentpanel');
    cardPanel.newParam = 'new value';
    cardPanel.changeLayout();      
    cardPanel.layout.setActiveItem(record.getId());
  }
}
于 2013-04-11T14:53:08.643 回答