소스 검색

perf: 处理地图数据更新

奔跑的面条 3 년 전
부모
커밋
ceffd2ef0c
1개의 변경된 파일10개의 추가작업 그리고 6개의 파일을 삭제
  1. 10 6
      src/packages/components/Charts/Maps/MapChina/index.vue

+ 10 - 6
src/packages/components/Charts/Maps/MapChina/index.vue

@@ -50,14 +50,18 @@ const option = reactive({
   value: mergeTheme(props.chartConfig.option, props.themeSetting, includes)
   value: mergeTheme(props.chartConfig.option, props.themeSetting, includes)
 })
 })
 
 
+const dataSetHandle = (dataset: any) => {
+  props.chartConfig.option.series.forEach((item: any) => {
+    if (item.type === 'effectScatter' && dataset.point) item.data = dataset.point
+    else if (item.type === 'map' && dataset.point) item.data = dataset.map
+    option.value = props.chartConfig.option
+  })
+}
+
 watch(
 watch(
   () => props.chartConfig.option.dataset,
   () => props.chartConfig.option.dataset,
   newData => {
   newData => {
-    props.chartConfig.option.series.forEach((item: any) => {
-      if (item.type === 'effectScatter') item.data = newData.point
-      else if (item.type === 'map') item.data = newData.map
-      option.value = props.chartConfig.option
-    })
+    dataSetHandle(newData)
   },
   },
   {
   {
     immediate: true
     immediate: true
@@ -66,6 +70,6 @@ watch(
 
 
 // 预览
 // 预览
 useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => {
 useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => {
-  option.value.series[0].data = [newData]
+  dataSetHandle(newData)
 })
 })
 </script>
 </script>