二次开发常见问题- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)
2.1 报错显示无法读取未定义的属性
问题描述:
在给报表中加入一段 JS 代码中,预览报表显示 CustomJSError : Cannot read properties of undefined (reading 'XXXXX')
如下图所示:
原因分析:
可能是您代码中使用的某个变量不存在,拼写错误。
或者是由于报表创建速度影响,报表块对象没有完全创建,添加的 JS 语句提前执行,从而获取不到对象导致报错,这种情况一般发生在「初始化后」和「加载结束」这种事件中。
解决方案:
如果是语法或者名称错误,可对应修改,如果语法、名称都无错误,那很大可能就是报表创建延迟的问题,这时候可以通过添加一个延迟函数延迟执行从而让代码在报表对象创建完之后执行,
如下所示,给 _g().parameterCommit(); 代码中添加延迟函数:
setTimeout(function() {_g().parameterCommit();}, 500)