mirror of
https://gitee.com/dromara/go-view.git
synced 2025-04-06 03:58:04 +08:00
46 lines
1.2 KiB
Vue
46 lines
1.2 KiB
Vue
<template>
|
||
<n-radio-group :value="props.modelValue || INHERIT_VALUE" @update:value="handleChange">
|
||
<n-space>
|
||
<n-tooltip :show-arrow="false" trigger="hover" v-for="item in rendererList" :key="item.value">
|
||
<template #trigger>
|
||
<n-radio :value="item.value">
|
||
{{ item.value }}
|
||
</n-radio>
|
||
</template>
|
||
{{ item.desc }}
|
||
</n-tooltip>
|
||
</n-space>
|
||
</n-radio-group>
|
||
</template>
|
||
<script setup lang="ts">
|
||
import { type EchartsRenderer } from '@/settings/chartThemes'
|
||
|
||
const props = defineProps<{ modelValue?: EchartsRenderer; includeInherit?: boolean }>()
|
||
const emits = defineEmits(['update:modelValue'])
|
||
|
||
const INHERIT_VALUE = 'inherit'
|
||
|
||
const handleChange = (val: EchartsRenderer & typeof INHERIT_VALUE) => {
|
||
emits('update:modelValue', val === INHERIT_VALUE ? undefined : val)
|
||
}
|
||
|
||
const rendererList = [
|
||
{
|
||
value: 'svg',
|
||
desc: '在缩放场景下具有更好的表现'
|
||
},
|
||
{
|
||
value: 'canvas',
|
||
desc: '数据量较大(经验判断 > 1k)、较多交互时,建议选择'
|
||
},
|
||
...(props.includeInherit
|
||
? [
|
||
{
|
||
value: INHERIT_VALUE,
|
||
desc: '默认继承全局配置'
|
||
}
|
||
]
|
||
: [])
|
||
]
|
||
</script>
|