收藏
回答

echarts阻碍页面滑动,请问有什么办法解决?

需要echarts的点击和滑动能力,也要不阻碍页面滑动。请问有解决的办法吗?小程序的we分析没有这种情况,如果用的也是echarts的话应该就是有解决的方法。

回答关注问题邀请回答
收藏

2 个回答

  • 哄哄
    哄哄
    03-29

    我也遇到了同样的问题,友友最后怎么解决的?

    03-29
    有用
    回复
  • CRMEB
    CRMEB
    2023-10-27

    在小程序中,可以使用 `echarts` 的 `pie-draggable` 和 `tooltip` 等功能来实现点击和滑动能力,而不阻碍页面滑动。


    具体实现方法如下:


    1. 引入 `echarts` 库和相关组件


    <template>
      <view class="container">
        <canvas canvas-id="myCanvas" style="width: 100%; height: 100%;"></canvas>
      </view>
    </template>
    
    <script>
    import * as echarts from '../../utils/echarts.min.js';
    </script>
    


    2. 在 `Page` 组件的 `data` 中定义图表所需的数据、配置项等信息


    data() {
      return {
        chartData: [{ value: 335, name: '直接访问' }, { value: 310, name: '邮件营销' }, { value: 234, name: '联盟广告' }, { value: 135, name: '视频广告' }, { value: 1548, name: '搜索引擎' }],
        chartOptions: {
          series: [{
            type: 'pie',
            radius: ['50%', '70%'], // 设置饼图半径,使饼图呈圆形,不阻碍页面滑动
            avoidLabelOverlap: false, // 防止标签重叠,避免遮挡其他数据标签
            label: { show: true, position: 'center' }, // 显示数据标签,并居中显示
            labelLine: { show: false }, // 隐藏标签线
            emphasis: { label: { show: true } }, // 高亮状态下显示标签
            data: this.chartData, // 图表数据
          }],
          tooltip: { trigger: 'item', formatter: '{a} <br/>{b} : {c} ({d}%)' }, // 提示框样式,显示数据信息及占比
          legend: { show: false }, // 隐藏图例,避免影响页面布局和滑动效果
        },
      };
    },
    


    3. 在 `Page` 组件的 `onLoad` 方法中初始化图表,并将图表渲染到指定的 `canvas` 元素上


    onLoad() {
      const myChart = echarts.init(this.selectComponent('#myCanvas'));
      myChart.setOption(this.chartOptions);
    },
    


    通过以上方式,可以在小程序中使用 `echarts` 实现点击和滑动能力,而不影响页面的正常滑动效果。

    2023-10-27
    有用
    回复 1
    • 王硕
      王硕
      2023-10-30
      没有效果 ,在echarts区域滑动页面还是不动
      2023-10-30
      回复
登录 后发表内容