diff --git a/src/hooks/useChartDataFetch.hook.ts b/src/hooks/useChartDataFetch.hook.ts index 9b1a5637..3756999d 100644 --- a/src/hooks/useChartDataFetch.hook.ts +++ b/src/hooks/useChartDataFetch.hook.ts @@ -36,7 +36,7 @@ export const useChartDataFetch = ( const echartsUpdateHandle = (dataset: any) => { if (chartFrame === ChartFrameEnum.ECHARTS) { if (vChartRef.value) { - setOption(vChartRef.value, { dataset: dataset }) + setOption(vChartRef.value, { dataset: dataset }, false) } } } diff --git a/src/packages/components/Charts/Bars/BarCommon/index.vue b/src/packages/components/Charts/Bars/BarCommon/index.vue index d4daecbc..7c47dca1 100644 --- a/src/packages/components/Charts/Bars/BarCommon/index.vue +++ b/src/packages/components/Charts/Bars/BarCommon/index.vue @@ -1,8 +1,14 @@ diff --git a/src/packages/components/Charts/Bars/BarCrossrange/index.vue b/src/packages/components/Charts/Bars/BarCrossrange/index.vue index 8f85f5f2..8e6fa8f9 100644 --- a/src/packages/components/Charts/Bars/BarCrossrange/index.vue +++ b/src/packages/components/Charts/Bars/BarCrossrange/index.vue @@ -4,7 +4,6 @@ :init-options="initOptions" :theme="themeColor" :option="option" - :manual-update="isPreview()" :update-options="{ replaceMerge: replaceMergeArr }" @@ -23,7 +22,6 @@ import { mergeTheme } from '@/packages/public/chart' import config, { includes, seriesItem } from './config' import { useChartDataFetch } from '@/hooks' import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore' -import { isPreview } from '@/utils' import { DatasetComponent, GridComponent, TooltipComponent, LegendComponent } from 'echarts/components' import isObject from 'lodash/isObject' import cloneDeep from 'lodash/cloneDeep' @@ -79,5 +77,7 @@ watch( } ) -const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore) +const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { + props.chartConfig.option.dataset = newData +}) diff --git a/src/packages/components/Charts/Bars/BarLine/index.vue b/src/packages/components/Charts/Bars/BarLine/index.vue index 50b2e794..b74922fc 100644 --- a/src/packages/components/Charts/Bars/BarLine/index.vue +++ b/src/packages/components/Charts/Bars/BarLine/index.vue @@ -4,7 +4,9 @@ :init-options="initOptions" :theme="themeColor" :option="option" - :manual-update="isPreview()" + :update-options="{ + replaceMerge: replaceMergeArr + }" autoresize > @@ -88,5 +90,7 @@ watch( } ) -const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore) +const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { + props.chartConfig.option.dataset = newData +}) diff --git a/src/packages/components/Charts/Lines/LineCommon/index.vue b/src/packages/components/Charts/Lines/LineCommon/index.vue index c2163eb7..54d3cb47 100644 --- a/src/packages/components/Charts/Lines/LineCommon/index.vue +++ b/src/packages/components/Charts/Lines/LineCommon/index.vue @@ -4,7 +4,6 @@ :init-options="initOptions" :theme="themeColor" :option="option" - :manual-update="isPreview()" :update-options="{ replaceMerge: replaceMergeArr }" @@ -79,5 +78,7 @@ watch( } ) -const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore) +const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { + props.chartConfig.option.dataset = newData +}) diff --git a/src/packages/components/Charts/Lines/LineGradientSingle/index.vue b/src/packages/components/Charts/Lines/LineGradientSingle/index.vue index b96ffa71..c6ed4d85 100644 --- a/src/packages/components/Charts/Lines/LineGradientSingle/index.vue +++ b/src/packages/components/Charts/Lines/LineGradientSingle/index.vue @@ -1,5 +1,5 @@ @@ -82,5 +82,7 @@ watch( } ) -const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore) +const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { + props.chartConfig.option.dataset = newData +}) diff --git a/src/packages/components/Charts/Lines/LineGradients/index.vue b/src/packages/components/Charts/Lines/LineGradients/index.vue index 08b48646..ea67334b 100644 --- a/src/packages/components/Charts/Lines/LineGradients/index.vue +++ b/src/packages/components/Charts/Lines/LineGradients/index.vue @@ -1,5 +1,5 @@ diff --git a/src/packages/components/Charts/Lines/LineLinearSingle/index.vue b/src/packages/components/Charts/Lines/LineLinearSingle/index.vue index e5a02106..16258648 100644 --- a/src/packages/components/Charts/Lines/LineLinearSingle/index.vue +++ b/src/packages/components/Charts/Lines/LineLinearSingle/index.vue @@ -1,5 +1,5 @@ @@ -79,5 +79,7 @@ watch( } ) -const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore) +const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { + props.chartConfig.option.dataset = newData +}) diff --git a/src/packages/public/chart.ts b/src/packages/public/chart.ts index 5ed7785e..e323542e 100644 --- a/src/packages/public/chart.ts +++ b/src/packages/public/chart.ts @@ -40,9 +40,11 @@ export const setData = (option: any, data: EchartsDataType) => { * @param instance * @param data */ -export const setOption = (instance: T, data: D) => { +export const setOption = (instance: T, data: D, notMerge = true) => { if (!instance) return const option = instance.getOption() option.dataset = null - instance.setOption(data) + instance.setOption(data, { + notMerge: notMerge + }) }