Extjs DataView store.reload重新添加项目

时间:2014-03-12 17:14:45

标签: extjs

我有一个extjs数据视图:

    var dv = Ext.create('Ext.view.View', {
        store: this.eventInstanceImagesStore,
        tpl: [
            '<tpl for=".">',
            '<div class="thumb-wrap" id="{name:stripTags}">',
            '<div class="thumb"><img src="http://stimages.blob.core.windows.net/medium/{value}" title="{name:htmlEncode}"></div>',
            '<span class="x-editable">{shortName:htmlEncode}</span>',
            '</div>',
            '</tpl>',
            '<div class="x-clear"></div>'
        ],
        multiSelect: true,
        trackOver: true,
        overItemCls: 'x-item-over',
        itemSelector: 'div.thumb-wrap',
        emptyText: 'No images to display',
        plugins: [
           // Ext.create('Ext.ux.DataView.DragSelector', {}),
            Ext.create('Ext.ux.DataView.LabelEditor', { dataIndex: 'name' })
        ],
        prepareData: function (data) {
            Ext.apply(data, {
                shortName: Ext.util.Format.ellipsis(data.name, 15),
                sizeString: Ext.util.Format.fileSize(data.size),
                dateString: Ext.util.Format.date(data.lastmod, "m/d/Y g:i a")
            });
            return data;
        }
    });

我还有一个文件上传表单,当图像成功上传后,我正在重新加载数据视图:

 dv.store.reload({
      params: {
          id: eid
      }
 });

然而,当重新加载时,似乎重新添加图像两次。所以我最终得到了2个数据视图......有没有人见过这个?

1 个答案:

答案 0 :(得分:0)

在执行

之前先尝试dv.store.removeAll();
dv.store.reload({
      params: {
          id: eid
      }
 });