echart的legendscroll指定翻页数量和滚动无效问题

809 阅读1分钟

指定翻页数量代码:

echart.dispatchAction({
     type: "legendScroll",// 官方文档说全小写, 实际开发小写的dispatchAction无法触发翻页
     scrollDataIndex: 5,// 指定一页翻五个
})

// 注: echart是实例

然而我需要通过原生的翻页按钮去操作的话, 会有如下问题:

echart.on("legendscroll", params => {
          // 阻止冒泡
          event.stopPropagation();
          // 滚动事件派发 --(注意这是一个死循环)
          echart.dispatchAction({
            type: "legendScroll",// params.type的是全小写事件名, 无法派发成功
            scrollDataIndex: params.scrollDataIndex + 1,// 目前我的是一页5条数据,而翻页的scrollDataIndex只有4条, 看百度官方给的命名是索引的意思, 实际上是条数(长度)了, 应该是echart的Bug!
            legendId: params.legendId
          });
 });


// 注: 阻止冒泡是因为滚动翻页是滚动翻页的事件, 我的echart外层有一个跳转页面的事件包裹着, 所以需要阻止冒泡.

以上代码是一个死循环, 因为这里的dispatchAction会激活js的on监听的legendscroll事件.

因为是chart翻页会保留上一页的最后一条数据, 而我收到的需求是不需要上一页的最后一条数据.暂时无法解决.