0

我的 bbox 配置:

{
  xtype: 'combobox', 
  editable: false, 
  store: 'my.store', 
  displayField: 'name', 
  valueField: 'id', 
  name: 'rule', 
  fieldLabel: 'Rule', 
  allowBlank: true
}

我的模型:

Ext.define('rule', {
  extend: 'Ext.data.Model',
  idProperty: 'id',
  fields: [
    {name: 'id', type: 'int'},
    name,
    {name: 'json', type: 'string'},
    {name: 'json2', type: 'string'}
  ]
});

我的商店:

Ext.define('Et.store.odinkod.Rules', {
extend: 'Ext.data.Store',
pageSize: 50,

proxy: {
    headers: {'hash': 'hashnumber1'},
    type: 'rest',
    url: 'api/rule',
    reader: {type: 'json', root: 'data'},
    writer: {type: 'json', root: 'data'}
},
/*
listeners: {
    load: function() {

        if(count == 0){

           count++;
              var instance = Ext.create('Et.model.rule', {
              id: '',
              accountHash: '',
              name: 'Always',
              json: '',
              uiJson: '',
              comment: ''
          });   
        this.add(instance);
    }

    }
    },
*/
autoLoad: true,
autoSync: true,
model: 'rule'
});

所以我想在 dpopbox 中查看额外的“名称”字段而不创建新记录

如果我在商店执行“添加”方法,我可以解决我的问题。但这对我来说很糟糕

4

1 回答 1

0

您不能使用正常方式将新商品添加到商店。sync由于您autoLoad: true, autoSync: true对商店的配置,它将与数据库一起使用。

您仍然可以通过直接处理保管箱的元素来实现您的目标,即使使用保管箱的 DOM(尝试 Component.getEl().dom)。但是,这只是一种解决方法,不推荐使用,因为存储可能会在加载/同步时触发错误,并且/或者在任何操作导致存储加载后,当 Dropbox 重新呈现自身时,您将获得重复的数据。

于 2012-05-05T05:06:21.600 回答