好久没写过的uniapp派上了用场,首先简述一下需求
需求如下:需求做h5点击图例显示隐藏对应的饼图块,点击对应的饼图跳转到相应的页面
在做过几个pc大屏的我来说,需求其实蛮简单的最起码在我熟悉的echarts中觉得这个需求很合理,甚至比起做一个数据下钻的地图不知道简单了多少,当然不知道用uncharts的各位是否遇到这样的需求,我怀揣着分分钟解决所有问题的雄心,打开了uncharts结果踩坑了
根据图例显示隐藏饼图这就是基础操作了,你扒过来饼图就有,熟悉echarts的大佬都知道echarts有自己的onclick事件,通过onclick事件可以实现你想要的啊(无论是全屏啊,下钻啊,弹窗啊,动态tip啊)此处不详细说这些
翻了好几次文档看了看demo,在demo和文档中发现了这个api @getIndex 通过这个api可以获取到图例的点击和图表数据的点击事件
那么问题来了我们该怎么区别两种点击事件呢?
此处你会发现我打印出来的属性点击图例的 currentIndex: -1 ,当然此处存在问题如果饼图全部隐藏后点击空白处此时没有的 currentIndex: -1,此处存在问题我暂时选择性忽略(如果后期考虑的话再去看一下),点击完了你会发现新的问题,就是你不知道你点的饼状图的哪一块,因为通过图例隐藏饼图后currentIndex在不断减小如下图所示
当前点击的数据是第一号数据
也就是opts里的_series_[0]
如果你通过点击图例隐藏了饼图相应的_series_也会不断减少不过我就不一一举例了!
后期又做了更新点击跳转也没有那么麻烦实现了
<view class="charts-box">
<qiun-data-charts type="pie" :localdata="chartsDatalocaldataB" :echartsH5="true" :onmouse="true"/>
</view>
//通过 :echartsH5="true" 使图表直接采用echarts 方式渲染
获取 参数的列表如下图
你可以通过直接获取 value的值