UNPKG

@visactor/taro-vchart

Version:

Taro VChart 图表组件

41 lines (39 loc) 1.52 kB
import React from "react"; export class WebChart extends React.Component { constructor(props) { super(props); } componentDidMount() { const {onChartInit: onChartInit, onChartReady: onChartReady, mode: mode, chartConstructor: chartConstructor} = this.props; chartConstructor || console.error("chartConstructor not found"), this.vchart = new chartConstructor(this.props.spec, Object.assign({ dom: `${this.props.canvasId}`, mode: mode }, this.props.options)), onChartInit && onChartInit(this.vchart), this.vchart.renderAsync().then((() => { onChartReady && onChartReady(this.vchart); })).catch((e => { console.error(e); })); } componentWillUnmount() { this.vchart && this.vchart && this.vchart.release(); } componentDidUpdate(prevProps) { if (!this.vchart) return; const {spec: spec, onChartReady: onChartReady} = this.props; JSON.stringify(prevProps.spec) !== JSON.stringify(spec) && (this.vchart.updateSpec(spec, !0), onChartReady && onChartReady(this.vchart)); } render() { const {canvasId: canvasId, style: style} = this.props; return React.createElement("div", { style: Object.assign(Object.assign({ position: "relative" }, style), { padding: 0 }), id: `${canvasId}` }); } } export default WebChart; //# sourceMappingURL=index.js.map