居中显示tooltip
This commit is contained in:
@@ -43,7 +43,7 @@ import { generateColorRGBA } from '@/utils/generate-utils';
|
|||||||
import { OptionsType, WS } from '@/plugins/ws-websocket';
|
import { OptionsType, WS } from '@/plugins/ws-websocket';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
import { LineOutlined } from '@ant-design/icons-vue';
|
import { LineOutlined } from '@ant-design/icons-vue';
|
||||||
const neInfoStore = useNeInfoStore();
|
const neInfoStore = useNeInfoStore();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const { t, currentLocale } = useI18n();
|
const { t, currentLocale } = useI18n();
|
||||||
const ws = new WS();
|
const ws = new WS();
|
||||||
@@ -411,12 +411,33 @@ function fnRanderChart() {
|
|||||||
if (!container) return; //若没有,则退出函数
|
if (!container) return; //若没有,则退出函数
|
||||||
kpiChart.value = markRaw(echarts.init(container, 'light'));
|
kpiChart.value = markRaw(echarts.init(container, 'light'));
|
||||||
//初始化Echarts图表实例,应用light主题,并赋值给kpiChart.value,markRaw是vue函数,用于标记对象为不可响应
|
//初始化Echarts图表实例,应用light主题,并赋值给kpiChart.value,markRaw是vue函数,用于标记对象为不可响应
|
||||||
const option: EChartsOption = {
|
const option: any = {
|
||||||
//定义图表的配置对象,tooltip的出发方式为axis
|
//定义图表的配置对象,tooltip的出发方式为axis
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'axis',
|
trigger: 'axis',
|
||||||
position: function (pt: any) {
|
position: function (
|
||||||
return [pt[0], '10%'];
|
point: number[],
|
||||||
|
size: { viewSize: number[]; contentSize: number[] }
|
||||||
|
) {
|
||||||
|
const [x, y] = point;
|
||||||
|
const [viewWidth] = size.viewSize;
|
||||||
|
const [tooltipWidth, tooltipHeight] = size.contentSize;
|
||||||
|
|
||||||
|
// 距离右侧的距离
|
||||||
|
const rightSpace = viewWidth - x;
|
||||||
|
|
||||||
|
// 计算垂直方向的居中位置
|
||||||
|
// 将 tooltip 的中心点对齐到鼠标位置
|
||||||
|
const verticalOffset = -tooltipHeight / 2;
|
||||||
|
|
||||||
|
// 如果右侧空间不足以显示tooltip(假设需要20px的安全距离)
|
||||||
|
if (rightSpace < tooltipWidth + 20) {
|
||||||
|
// 向左显示,垂直居中
|
||||||
|
return [x - tooltipWidth - 10, y + verticalOffset];
|
||||||
|
}
|
||||||
|
|
||||||
|
// 默认向右显示,垂直居中
|
||||||
|
return [x + 10, y + verticalOffset];
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
|
|||||||
Reference in New Issue
Block a user