Angular中DxReportViewer显示异常:图标过大且无内容
解决Angular中dx-report-viewer图标过大且无内容的问题
检查样式引入完整性
必须在angular.json中正确引入对应版本的DevExpress报表样式文件,缺失或版本不匹配会直接导致图标和布局异常:"styles": [ "node_modules/devextreme/dist/css/dx.light.css", "node_modules/@devexpress/analytics-core/dist/css/dx-analytics.common.css", "node_modules/@devexpress/analytics-core/dist/css/dx-analytics.light.css", "node_modules/@devexpress/analytics-core/dist/css/dx-querybuilder.css", "node_modules/devexpress-reporting/dist/css/dx-webdocumentviewer.css" ]注意所有样式文件版本要与你安装的22.2.4完全一致。
设置视图容器明确尺寸
dx-report-viewer依赖固定尺寸的容器才能正常渲染内容,在组件CSS中为容器设置宽高:.report-viewer-container { width: 100%; height: 80vh; }同时在HTML中将查看器嵌套进该容器:
<div class="report-viewer-container"> <dx-report-viewer [reportUrl]="reportUrl" [height]="'100%'" [width]="'100%'"> <dxrv-request-options [invokeAction]="'/DXXRDV'"></dxrv-request-options> </dx-report-viewer> </div>验证脚本加载顺序
脚本加载顺序错误会导致组件功能异常,在angular.json的scripts数组中按以下顺序配置:"scripts": [ "node_modules/jquery/dist/jquery.min.js", "node_modules/knockout/build/output/knockout-latest.js", "node_modules/devextreme/dist/js/dx.all.js", "node_modules/@devexpress/analytics-core/dist/js/dx-analytics-core.js", "node_modules/devexpress-reporting/dist/js/dx-webdocumentviewer.js" ]确认服务端端点配置
即使打印窗口显示正常,也要检查服务端的报表处理端点(如示例中的/DXXRDV)是否配置正确,确保客户端能正常获取报表渲染所需的数据。清除缓存重启项目
旧缓存可能引发样式冲突,执行以下命令清除缓存后重启项目:ng cache clean ng serve --open
内容的提问来源于stack exchange,提问作者E. Zahra
相关产品推荐
相关产品推荐

