diff --git a/src/KLineChartPro.tsx b/src/KLineChartPro.tsx index bac9e893..04271937 100644 --- a/src/KLineChartPro.tsx +++ b/src/KLineChartPro.tsx @@ -29,6 +29,7 @@ const Logo = ( ) export default class KLineChartPro implements ChartPro { + private _disposeFn?: () => void; constructor (options: ChartProOptions) { if (utils.isString(options.container)) { this._container = document.getElementById(options.container as string) @@ -41,7 +42,7 @@ export default class KLineChartPro implements ChartPro { this._container.classList.add('klinecharts-pro') this._container.setAttribute('data-theme', options.theme ?? 'light') - render( + this._disposeFn = render( () => ( { this._chartApi = chart }} @@ -128,4 +129,8 @@ export default class KLineChartPro implements ChartPro { getPeriod (): Period { return this._chartApi!.getPeriod() } + + dispose(): void { + this._disposeFn?.(); + } }