当我尝试在树视图中拖放一行时出现此错误:
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中的错误吗? 我不知道该怎么做。我在插件配置中尝试了不同的选项。
答案 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 属性!