首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExtJS5树拖放深拷贝

ExtJS5树拖放深拷贝
EN

Stack Overflow用户
提问于 2014-11-05 18:31:26
回答 2查看 617关注 0票数 1

在ExtJS5中,我有一个启用了拖放功能的TreePanel。当我将一个带有子节点的节点从源树拖到目标树时,只会复制父节点。

如果我在'beforedrop‘侦听器中尝试深度克隆,它将失败,并显示以下错误: Ext.data.Model.constructor():错误的模型构造函数参数2- " Session“不是会话

视图有一个视图控制器,但没有视图模型。

视图中的树定义:

代码语言:javascript
复制
xtype: 'treepanel',
                    itemId: 'myProjectsTree',
                    rootVisible: false,
                    viewConfig: {
                        plugins: {
                            ptype: 'treeviewdragdrop',
                            enableDrag: false,
                            enableDrop: true
                        },
                        listeners: {                            
                            beforedrop: 'doDrop',....

在控制器中:

代码语言:javascript
复制
doDrop: function(dropNode, dragNode, overModel) {
        var node = dragNode.records[0]; 
        var clonedNode = node.copy('111', true);<--- failed here

我见过在视图模型场景中定义的会话。复制功能是否需要定义viewmodel会话?有没有办法解决这个问题。ExtJS5中是否存在错误。

任何帮助都是非常感谢的!

EN

回答 2

Stack Overflow用户

发布于 2014-11-21 19:42:30

AFAIK EXT JS中存在与复制树节点(EXTJS-13725)相关的错误。您应该在Ext.data.NodeInterface中修改/覆盖copy方法

代码语言:javascript
复制
// copy: function(newId, deep) {
copy: function(newId, session, deep) {
    var me = this,
        result = me.callParent(arguments),
        len = me.childNodes ? me.childNodes.length : 0,
        i;


    if (deep) {
        for (i = 0; i < len; i++) {
            // result.appendChild(me.childNodes[i].copy(undefined, true));
            result.appendChild(me.childNodes[i].copy(undefined, session, true));
        }
    }
    return result;
}

在原始代码中,基本上没有会话参数,而实际上应该有。

票数 2
EN

Stack Overflow用户

发布于 2016-10-18 12:38:43

或设置copy:true

代码语言:javascript
复制
viewConfig: {
        plugins: {
            ptype: 'gridviewdragdrop',
            enableDrag: true,
            enableDrop: false,
            ddGroup: 'selDD',
            copy: true
        },
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26754929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档