extjs中,对store复制的一些问题

2025-05-14 13:44:44
推荐回答(2个)
回答(1):

//定义store
var storeB;
var storeA = Ext.create('Ext.data.Store', {
  fields: [{
    name: 'firstName'
  },
  {
    name: 'lastName'
  }],
  data: [{
    firstName: 'Ed',
    lastName: 'Spencer'
  },
  {
    firstName: 'Tommy',
    lastName: 'Maintz'
  },
  {
    firstName: 'Aaron',
    lastName: 'Conran'
  },
  {
    firstName: 'Jamie',
    lastName: 'Avins'
  }],
  listeners: {
    //在执行load的时候复制他的数据
    load: function(store, records) {
      storeB = Ext.create('Ext.data.TreeStore', {
        fields: [{
          name: 'firstName',
          type: 'string'
        },
        {
          name: 'lastName',
          type: 'string'
        }],
        data: records
      });
    }
  }
});

回答(2):

我用的是MVC模式直接在不同的界面引用就可以了,如:
xtype:'combo',
name : 'productId',
fieldLabel:'订购产品',
store : 'common.CommonProductStore',
要多处对同一个store进行操作可以给store添加监听,如:
listeners : {
'beforeload' : function(store, operation) {
var loadMarsk = new Ext.LoadMask(document.body, {
msg : '加载中,请稍候...',
disabled : false,
store : store
});

loadMarsk.show();
}
}