Actualmente estoy usando PrimeNG para mi aplicación angular mecanografiada. Estoy usando el componente de diálogo provisto por PrimeNG para tener una ventana emergente que dibuja gráficos a través de ngx-charts (específicamente ngx-charts-line-chart). Cuando abro el cuadro de diálogo por primera vez, el gráfico se dibuja bien. Sin embargo, cuando cierro el cuadro de diálogo y luego lo vuelvo a abrir, las líneas del gráfico desaparecen sin generar ningún error. Cuando el gráfico está en este estado, todavía puedo pasar el cursor sobre él y ver los puntos a través de la información sobre herramientas, pero las líneas han desaparecido por completo. La única razón potencial de esto que puedo pensar es que cuando se cierra el cuadro de diálogo, cambia el tamaño y hace que los gráficos ngx hagan algo extraño.
Encontré la respuesta a esto a través de pruebas. Usé la propiedad onHide del componente de diálogo para establecer los datos del gráfico en una matriz vacía y luego restablecí los datos del gráfico al volver a abrirlo.
En su componente HTML hacer
<p-dialog (onHide)="onHide()">-chart stuff here-</p-dialog>
Y luego en tu componente ts do
onHide(){ let o = [] as any; this.chartData = [...o]}
Me imagino que tiene que hacerse esto fue como cuando el cuadro de diálogo minimiza el tamaño del gráfico en función del tamaño minimizado y falla con las líneas en el gráfico. Pero si no hay líneas, entonces no intenta dibujar cuando se minimiza.