fix: 修改全局设置不触发的问题

This commit is contained in:
MTrun 2022-02-21 21:16:44 +08:00
parent b980c79ab4
commit d74fb21c9e
7 changed files with 32 additions and 9 deletions

View File

@ -9,7 +9,7 @@ import { use } from 'echarts/core'
import { CanvasRenderer } from 'echarts/renderers'
import { BarChart } from 'echarts/charts'
import config from './config'
import merge from 'lodash/merge'
import { mergeTheme } from '@/packages/public/chart'
import {
GridComponent,
TooltipComponent,
@ -41,7 +41,9 @@ use([
TitleComponent
])
const includes = ['title', 'legend', 'xAxis', 'yAxis']
const option = computed(() => {
return merge(props.chartData.option, props.themeSetting)
return mergeTheme( props.chartData.option, props.themeSetting, includes)
})
</script>

View File

@ -10,7 +10,6 @@ export default class Config extends publicConfig implements CreateComponentType
// 图表配置项
public option = echartOptionProfixHandle({
backgroundColor: 'rgba(0,0,0,0)',
tooltip: {
trigger: 'axis',
axisPointer: {

View File

@ -42,7 +42,7 @@ use([
])
const option = computed(() => {
return merge(props.chartData.option, props.themeSetting)
return merge(props.themeSetting, props.chartData.option)
})
</script>

View File

@ -9,7 +9,7 @@ import { use, graphic } from 'echarts/core'
import { CanvasRenderer } from 'echarts/renderers'
import { LineChart } from 'echarts/charts'
import config from './config'
import merge from 'lodash/merge'
import { mergeTheme } from '@/packages/public/chart'
import {
GridComponent,
TooltipComponent,
@ -41,7 +41,9 @@ use([
TitleComponent
])
const includes = ['title', 'legend', 'xAxis', 'yAxis']
const option = computed(() => {
return merge(props.chartData.option, props.themeSetting)
return mergeTheme( props.chartData.option, props.themeSetting, includes)
})
</script>

View File

@ -15,7 +15,7 @@ export default class Config extends publicConfig implements CreateComponentType
},
legend: {
top: '5%',
left: 'center'
left: 'center',
},
series: [
{

View File

@ -8,7 +8,7 @@ import VChart from 'vue-echarts'
import { use, graphic } from 'echarts/core'
import { CanvasRenderer } from 'echarts/renderers'
import { PieChart } from 'echarts/charts'
import merge from 'lodash/merge'
import { mergeTheme } from '@/packages/public/chart'
import config from './config'
import {
GridComponent,
@ -41,7 +41,9 @@ use([
TitleComponent
])
const includes = ['title', 'legend']
const option = computed(() => {
return merge(props.chartData.option, props.themeSetting)
return mergeTheme( props.chartData.option, props.themeSetting, includes)
})
</script>

View File

@ -1,3 +1,6 @@
import merge from 'lodash/merge'
import pick from 'lodash/pick'
/**
* * ECharts option
* @param option
@ -6,3 +9,18 @@ export const echartOptionProfixHandle = (option: any) => {
option['backgroundColor'] = 'rgba(0,0,0,0)'
return option
}
/**
* * color
* @param option
* @param themeSetting
* @param excludes
* @returns object
*/
export const mergeTheme = <T, U, E extends keyof U> (
option: T,
themeSetting: U,
includes: E[] = []
) => {
return merge(pick(themeSetting, includes), option)
}