【发布时间】:2021-07-20 04:04:48
【问题描述】:
我正在使用 angular slickgrid
{ id: 'fullName', field: 'user.fullName', name: 'Agent Name', filterable: true, sortable: true, formatter: Formatters.complexObject },
只有当全名是可空的数据时才显示错误,来自 json 的数据存在我正在下方
EDIT: ERROR TypeError: Cannot read property 'width' of null at getCanvasWidth (vendor.js:195836) at getViewportHeight (vendor.js:198686) at SlickGrid.resizeCanvas (vendor.js:198712) at ResizerService.resizeGridWithDimensions (vendor.js:94087) at ResizerService.resizeGridCallback (vendor.js:94061) at vendor.js:94053 at timer (polyfills.js:13097) at ZoneDelegate.invokeTask (polyfills.js:10942) at Object.onInvokeTask (vendor.js:43226) at ZoneDelegate.invokeTask (polyfills.js:10941) defaultErrorLogger @ core.js:6456 handleError @ core.js:6504 next @ core.js:29284 __tryOrUnsub @ Subscriber.js:183 next @ Subscriber.js:122 _next @ Subscriber.js:72 next @ Subscriber.js:49 next @ Subject.js:39 emit @ core.js:25946 (anonymous) @ core.js:28703 invoke @ zone.js:372 run @ zone.js:134 runOutsideAngular @ core.js:28576 onHandleError @ core.js:28703 handleError @ zone.js:376 runTask @ zone.js:181 invokeTask @ zone.js:487 ZoneTask.invoke @ zone.js:476 data.args.<computed> @ zone.js:2541 core.js:6456 ERROR TypeError: Cannot convert undefined or null to object at Function.entries (<anonymous>) at complexObjectFormatter (vendor.js:101862) at appendCellHtml (vendor.js:198432) at appendRowHtml (vendor.js:198386) at renderRows (vendor.js:199153) at render (vendor.js:199258) at resizeCanvas (vendor.js:198814) at updateRowCount (vendor.js:198910) at SlickGrid.invalidate (vendor.js:198490) at DataView.<anonymous> (vendor.js:103566) defaultErrorLogger @ core.js:6456 core.js:6456 ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'children' of null TypeError: Cannot read property 'children' of null at ensureCellNodesInRowsCache (vendor.js:198967) at cleanUpAndRenderCells (vendor.js:199053) at render (vendor.js:199254) at SlickGrid.resizeCanvas (vendor.js:198814) at ResizerService.resizeGridWithDimensions (vendor.js:94087) at ResizerService.resizeGridCallback (vendor.js:94061) at vendor.js:94056 at new ZoneAwarePromise (polyfills.js:11923) at ResizerService.resizeGrid (vendor.js:94048) at ResizerService.handleResizeGrid (vendor.js:93949) at resolvePromise (polyfills.js:11749) at new ZoneAwarePromise (polyfills.js:11926) at ResizerService.resizeGrid (vendor.js:94048) at ResizerService.handleResizeGrid (vendor.js:93949) at dispatch (scripts.js:5430) at $event.dispatch (scripts.js:11280) at $event.dispatch (vendor.js:187486) at elemData.handle (scripts.js:5234) at ZoneDelegate.invokeTask (polyfills.js:10942) at Object.onInvokeTask (vendor.js:43226) defaultErrorLogger @ core.js:6456 core.js:6456 ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'children' of null TypeError: Cannot read property 'children' of null at ensureCellNodesInRowsCache (vendor.js:198967) at cleanUpAndRenderCells (vendor.js:199053) at render (vendor.js:199254) at SlickGrid.resizeCanvas (vendor.js:198814) at ResizerService.resizeGridWithDimensions (vendor.js:94087) at ResizerService.resizeGridCallback (vendor.js:94061) at vendor.js:94056 at new ZoneAwarePromise (polyfills.js:11923) at ResizerService.resizeGrid (vendor.js:94048) at ResizerService.handleResizeGrid (vendor.js:93950) at resolvePromise (polyfills.js:11749) at new ZoneAwarePromise (polyfills.js:11926) at ResizerService.resizeGrid (vendor.js:94048) at ResizerService.handleResizeGrid (vendor.js:93950) at dispatch (scripts.js:5430) at $event.dispatch (scripts.js:11280) at $event.dispatch (vendor.js:187486) at elemData.handle (scripts.js:5234) at ZoneDelegate.invokeTask (polyfills.js:10942) at Object.onInvokeTask (vendor.js:43226)
仅针对具有空数据的复杂对象获取上述错误。请告诉我如何配置。
@gistcode 我添加了更多错误日志..请检查,您能否提供我如何转换此用例的自定义格式
【问题讨论】:
-
你可以从网格选项中尝试这个标志
cellValueCouldBeUndefined,看看它是否有效,这也应该有助于排序。如果这不起作用,您可以创建自己的自定义格式化程序或提供修复,但现在我刚刚发布了一个新的主要版本 3.0,并且此代码现在存在于 Slickgrid-Universal 中 -
@ghiscoding 谢谢..我会尝试 3 尝试新版本..
-
你可以尝试转换到新版本但是代码是一样的,
cellValueCouldBeUndefined在两个版本中会导致相同的结果,我建议你在转换到新版本之前尝试一下.我这样说是因为要迁移到新版本需要遵循几个步骤,您可以在Release 部分看到所有相关信息。单击complexObjectFormatter并准确查看格式化程序的哪一行引发错误bcoz line 18369 don't tell me any in minified code 也可能对您有所帮助 -
cellValueCouldBeUndefined 不起作用...如何编写自定义格式?你能提供一个链接我该怎么做吗..我在问题中添加了moe错误日志...
-
您现在显示的是与 ComplexObjectFormatter 无关的完全不同的错误。不管怎样,这里是Custom Formatter Wiki,如果你想复制代码并将其修改为自定义格式化程序,这里是ComplexObjectFormatter的链接