現在、22 前後の Highcharts グラフィックを含むページがあり、ユーザーが選択できるフィルターの対象になっています。各フィルター操作により、現在のシリーズが削除され、新しいシリーズが追加されます。
私は 2 つのアプローチから始めました。
while currentChart.series.length > 0
currentChart.series[currentChart.series.length - 1].remove()
次に、配列を通過してフィルター データを検索する別のループの後、
currentChart.addSeries
name: operatorName
data: data
type: options.chartType
しかし、この実装は非常に重いことが判明しました。
次に、タイムアウトを実装して、プラグインが少し呼吸し、それほどスタックしないようにしました。各ループ間に 1 ミリ秒のタイムアウトを設定することで、パフォーマンスが向上し、アニメーションを見ることができましたが、少し遅くなりました。タイムアウトを高く設定すると、ページのナビゲートが難しくなり、グラフィックの更新全体に時間がかかるため、フィルターの変更がスタックします。