| 123456789101112131415161718192021222324252627282930313233343536373839 |
- <template>
- <div ref="chartElement" class="app-echarts" :style="{ width, height }"></div>
- </template>
- <script lang="ts" setup>
- import { PropType, watch } from 'vue'
- import { ECOption } from './core'
- import { useEcharts } from './index'
- const props = defineProps({
- // 图表宽度
- width: {
- type: String,
- default: '100%',
- },
- // 图表高度
- height: {
- type: String,
- default: '100%',
- },
- // 图表配置项
- option: {
- type: Object as PropType<ECOption>,
- default: () => ({}),
- },
- dataIndex: {
- type: Number,
- default: 0,
- },
- })
- const { chartElement, setOptions } = useEcharts();
- watch(() => props.option, (val) => setOptions(val));
- </script>
- <style lang="less">
- @import './index.less';
- </style>
|