ExtJS 6.2 treeviewdragdrop无法读取null的属性“属性”

时间:2017-11-30 04:16:45

标签: extjs extjs6

当我尝试在树视图中拖放一行时出现此错误:

Uncaught TypeError: Cannot read property 'attributes' of null
at constructor.updateColumns (ext-all-debug.js:205002)
at constructor.handleUpdate (ext-all-debug.js:204830)
at constructor.onUpdate (ext-all-debug.js:181917)
at constructor.fire (ext-all-debug.js:20731)
at constructor.doFireEvent (ext-all-debug.js:21700)
at constructor.prototype.doFireEvent (ext-all-debug.js:58105)
at constructor.fireEventArgs (ext-all-debug.js:21553)
at constructor.fireEvent (ext-all-debug.js:21512)
at constructor.onCollectionItemChange (ext-all-debug.js:91973)
at constructor.notify (ext-all-debug.js:74624)

这是我的插件配置:

plugins: [{
    ptype: 'treeviewdragdrop',
    appendOnly: true,
    sortOnDrop: true,
}]

我使用Ext JS 6.2.0.981。有什么可能错的?这不是ExtJS中的错误吗? 我不知道该怎么做。我在插件配置中尝试了不同的选项。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并且找到了解决方案。 就我而言,问题出在treeView中的name列的渲染器中。有问题的渲染器:

renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
            if(value !== '')
            {
                if(record.raw.mapped === true)
                {
                    metaData.tdStyle = 'background-color:#c3e79d';
                }
            }
            return value;
        }

当我更改为:

renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
            if(value !== '')
            {
                if(record.data.mapped === true)
                {
                    metaData.tdStyle = 'background-color:#c3e79d';
                }
            }
            return value;
        }

一切正常。问题是因为放置的对象没有 record.raw ,而是具有 record.data 属性!