echarts点击某一行显示菜单

7 篇文章 0 订阅

echarts点击某一行显示菜单

在这里插入图片描述

1.echarts图表点击触发事件

获取图表点击所在行的参数和位置信息

//图表点击事件
myChart[this.id].on("click", function (params) {
	const { data, event } = params;
	_this.$parent.$refs.submenuRef.isShowSubMenu = true;
	_this.$parent.$refs.submenuRef.submenuStyle = { top: event.event.pageY + "px", left: event.event.pageX + "px" };
	_this.$parent.$refs.submenuRef.data = { ...data };
});

2. 菜单子组件

参数:
isShowSubMenu: false,
submenuStyle: {}, //子菜单位置
data: {}, //选中值数据

  • html
<div class="temp-submenu" ref="submenuRef" v-show="isShowSubMenu" :style="submenuStyle">
	<Icon type="ios-close" class="submenu-close-icon" @click="cancelClick()" />
	<ul>
		<li @click="submenuClick('datadetail')">查看数据明细</li>
	</ul>
</div>
  • js
//子菜单点击事件
submenuClick(name) {
	//菜单点击逻辑
	this.isShowSubMenu = false;
},
//关闭弹框
cancelClick() {
	this.isShowSubMenu = false;
},
  • css
/* 子菜单悬浮框*/
.temp-submenu {
	position: fixed;
	white-space: nowrap;
	z-index: 9999999;
	border-width: 0px;
	border-color: rgb(51, 51, 51);
	color: #000;
	left: 610px;
	top: 97px;
	cursor: pointer;
	background: #39403ba6;
	color: #fff;
	min-height: 100px;

	li {
		list-style: none;
		padding: 5px 10px;
		margin: 0 0 5px 0;
		&:hover {
			background: #27ce88;
		}
	}
	.submenu-close-icon {
		display: inline-block;
		width: 100%;
		text-align: right;
		font-size: 18px;
	}
}
  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将多个Echarts图表放在一行显示,可以使用CSS的flex布局来实现。通过将Echarts图表包装在一个父级DIV容器中,并使用flex布局来控制其在父级容器中的排列方式,可以轻松实现多个Echarts图表的横向显示。 首先,在HTML中创建一个父级DIV容器,设置其样式为display: flex,这样子元素会以水平方向排列。 然后,在父级DIV容器中创建多个子级DIV,每个子级DIV用来包裹一个Echarts图表。 接下来,使用JavaScript代码获取每个子级DIV的宽度,并根据宽度设置Echarts图表的大小。可以使用Echarts提供的方法来设置图表的大小,例如使用setOption方法中的option属性来定义图表的宽度和高度。 最后,使用Echarts的init方法将图表渲染到对应的子级DIV中。 整个过程的代码如下所示: HTML代码: <div id="echarts-container" style="display: flex;"></div> JavaScript代码: var container = document.getElementById('echarts-container'); var echart1 = document.createElement('div'); var echart2 = document.createElement('div'); var echart3 = document.createElement('div'); echart1.style.width = container.offsetWidth / 3 + 'px'; echart2.style.width = container.offsetWidth / 3 + 'px'; echart3.style.width = container.offsetWidth / 3 + 'px'; container.appendChild(echart1); container.appendChild(echart2); container.appendChild(echart3); var chart1 = echarts.init(echart1); var chart2 = echarts.init(echart2); var chart3 = echarts.init(echart3); // 设置图表的option属性,包括数据和样式等 // ... chart1.setOption(option1); chart2.setOption(option2); chart3.setOption(option3); 通过以上的代码,就可以实现将多个Echarts图表水平排列在一行显示在网页上。需要注意的是,需要在页面上引入Echarts的js文件,并在代码中使用正确的Echarts API来初始化图表和设置图表的数据和样式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值