ngx-charts线消失时,绘制的图表在PrimeNG对话框关闭和重新打开



我目前使用PrimeNG为我的typescript角应用程序。我正在使用PrimeNG提供的对话框组件,通过ngx-charts(特别是ngx-charts-line-chart)绘制图表。当我第一次打开对话框时,图表画得很好。但是,当我关闭对话框然后重新打开它时,图表中的线条消失了,没有输出任何错误。当图表处于这种状态时,我仍然可以将鼠标悬停在它上面,并通过工具提示看到点,但线条已经完全消失了。我能想到的唯一可能的原因是,当对话框关闭时,它正在调整大小,导致ngx-charts做一些奇怪的事情。

通过测试找到了答案。我使用对话框组件的onHide属性将图表数据设置为空数组,然后在重新打开图表数据时重置图表数据。

在你的组件HTML中做

<p-dialog (onHide)="onHide()">-chart stuff here-</p-dialog>

然后在你的组件中做

onHide(){ let o = [] as any; this.chartData = [...o]}

我想它必须这样做,因为当对话框最小化图表时,根据最小化的大小调整大小,它会在图表上的线条上出错。但是如果没有线,那么它就不会在最小化时尝试绘制。

最新更新