1

在 Ext 4.1 中,我将项目放到网格中,但是记录带有一个 id 并且 phantom 标志设置为 false,导致存储保持为空而不向其中添加这些记录。即使它们在网格上看起来很好。

我在网上阅读了几个解决方案,许多人建议将幻像标志设置为 false 和/或将 id 设置为 null,但我无法实现这个?我在哪里设置它?

以下是相关链接:

我尝试beforedrop在 viewConfig 上添加一个侦听器并在那里更改幻像标志和 id,但这不起作用。有什么帮助吗?

4

1 回答 1

1

我有它的工作。尝试这个:

// BUGFIX - when records are copied between grids, the copied record don't get its phantom set
// to true, thus, no Create call will be made to the server.
Ext.override( Ext.data.Model, {

    copy : function(newId) {
        var iNewRecord = this.callParent( arguments );
        iNewRecord.phantom = true;
        return iNewRecord;    
    }
});

我的源表也将视图配置copy设置为 true,尽管在撰写本文时我不知道为什么或者这是否有任何作用:

Ext.define('BS.view.items.Items' ,
{
    extend: 'BS.tree.Panel',

    ...

    viewConfig: {
        plugins: {
            ptype: 'treeviewdragdrop',
            dragGroup: 'classrooms',
        },

        // notice this
        copy: true            
    },

});
于 2013-05-28T10:44:31.817 回答