我有以下问题:
>>>>>>> Link to a JsFiddle demonstration >>>>>>
我使用了collapse example,并添加了getItemMetadata方法。
dataView.getItemMetadata = function (row) {
var thtId = data[row].id;
if (data[thtId + 1] && data[thtId + 1].indent > data[thtId].indent) {
return { 'cssClasses': 'parentClassName' }
}
};
这很好用,直到我尝试折叠和扩展我的行。比我得到以下错误(仅在扩展时):
未捕获的TypeError:无法读取未定义的属性“id”
根据我的经验,当dataView丢失子项的属性时会产生此错误。 我调查了更多,发现代码属于 appendRowHtml 函数(slick.grid.js#1217)。
有没有人对崩溃功能有所了解? getItemMetadata?
谢谢!
答案 0 :(得分:1)
解决方案由SlickGrid的创建者@Tin举行
异常发生在“var thtId = data [row] .id”中,其中“row” 超出范围。您应该检查之前是否存在“data [row]” 访问“id”属性。网格要求a的元数据 不存在的行,可以解释为一个bug,但它仍然存在 有用的是能够自定义空的最后一行(用于的空行) 添加新条目),所以它有点意义。
https://groups.google.com/forum/#!topic/slickgrid/65vPmzXsLMQ