请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

lucas.Yan
超级版主   /  发表于:2025-3-10 12:25  /   查看:69  /  回复:0
本帖最后由 lucas.Yan 于 2025-3-10 14:24 编辑

背景
在 Wyn 商业智能中,当我们的数据中有较多分类,组件绑定展示出来显示效果非常拥挤。为了减少同时显示的标签数据,我们一般会使用组件轮播去增强显示效果。但是组件默认的轮播只有高亮效果,不会同时的显示数据标签。


为了实现下面的效果,可以利用的组件的自定义行为进行修改。
cc.gif873319396.png


前置步骤:
首先正常流程绑定饼图的系列和数值
image.png49940794.png

关键步骤:
增加自定义行为:
image.png426387328.png
  1. const data = option.series[0].data;
  2. // 定义轮播逻辑
  3. var currentIndex = -1;
  4. setInterval(function() {
  5.     var dataLength = data.length;

  6.     // 如果之前有高亮的项目,则重置其标签显示状态为false
  7.     if (currentIndex >= 0) {
  8.         myChart.setOption({
  9.             series: [{
  10.                 data: data.map((item, index) => ({
  11.                   itemStyle: item.itemStyle,
  12.                     name: item.name,
  13.                     value: item.value,
  14.                     label: {
  15.                         show: false
  16.                     }
  17.                 }))
  18.             }]
  19.         });
  20.         myChart.dispatchAction({
  21.             type: 'downplay',
  22.             seriesIndex: 0,
  23.             dataIndex: currentIndex
  24.         });
  25.     }

  26.     currentIndex = (currentIndex + 1) % dataLength;

  27.     // 更新当前高亮项的标签显示状态为true
  28.     myChart.setOption({
  29.         series: [{
  30.             data: data.map((item, index) => ({
  31.               itemStyle: item.itemStyle,
  32.                 name: item.name,
  33.                 value: item.value,
  34.                 label: index === currentIndex ? {show: true} : {show: false}
  35.             }))
  36.         }]
  37.     });

  38.     // 高亮当前部分
  39.     myChart.dispatchAction({
  40.         type: 'highlight',
  41.         seriesIndex: 0,
  42.         dataIndex: currentIndex
  43.     });
  44. }, 2000); // 每隔2秒切换一次
复制代码
相关文章:Echarts实现条状图/柱状图轮播 - Wyn 商业智能专区 - 产品教程 - 葡萄城开发者社区

wyn-export-20250310123026.zip

532.07 KB, 下载次数: 3

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部