zoukankan      html  css  js  c++  java
  • 钉钉小程序----使用阿里的F2图表

    在钉钉小程序中使用F2的图表遇见很多问题

    不能点击或者点击错乱的问题还没有解决,因为我解决不了。。。。。。。。。。。。。。。。。。。。。。。。。。。

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    渲染问题:一个图表大一个图表小的问题,setData是异步机制,因此每次在渲染数据的时候先设置宽高,完了再setData的回调里面再去执行其他。

    找到安装的模块下f2,改变源码,如下图。

    2.图表使用的例子

    在js中

    Component({
      data:{
        chartDataNew1: [{
            title: '掘进',
            ring: '163',
            value: 16
          }, {
            title: '掘进',
            ring: '175',
            value: 26
          }, {
            title: '停机',
            ring: '163',
            value: 16
          }, {
            title: '停机',
            ring: '175',
            value: 26
          }, {
            title: '拼环',
            ring: '163',
            value: 36
          }, {
            title: '拼环',
            ring: '185',
            value: 25
          }, {
            title: '停机',
            ring: '185',
            value: 25
          }, {
            title: '停机',
            ring: '195',
            value: 25
          }, {
            title: '拼环',
            ring: '195',
            value: 25
          }, {
            title: '拼环',
            ring: '275',
            value: 25
          }, {
            title: '拼环',
            ring: '275',
            value: 25
          }, {
            title: '拼环',
            ring: '375',
            value: 25
          }, {
            title: '拼环',
            ring: '375',
            value: 25
          }, {
            title: '拼环',
            ring: '475',
            value: 25
          }, {
            title: '停机',
            ring: '475',
            value: 25
          }
        ],
        chartDataNew: [
          {
            name: '推进',
            percent: 0.6,
            a: '1'
          }, {
            name: '拼装',
            percent: 0.4,
            a: '1'
          }, {
            name: '辅助',
            percent: 0.1,
            a: '1'
          }, {
            name: '故障',
            percent: 0.3,
            a: '1'
          }, {
            name: '其他',
            percent: 0.2,
            a: '1'
          }
        ],
        map: {
          '推进': '60%',
          '拼装': '40%',
          '辅助': '10%',
          '故障': '30%',
          '其他': '20%',
        },
      },
      methods: {
        // 图表1
        onDraw(ddChart) {
          //dd-charts组件内部会回调此方法,返回图表实例ddChart
          //提示:可以把异步获取数据及渲染图表逻辑放onDraw回调里面
          ddChart.clear()
          let chartDataNew = this.data.chartDataNew
          let map = this.data.map
          ddChart.source(chartDataNew, {
            percent: {
              formatter: function formatter(val) {
                return val * 100 + '%';
              }
            }
          })
          ddChart.legend({
            position: 'top',
            align: 'center',
            itemFormatter: function itemFormatter(val) {
              return val + '  ' + map[val];
            }
          })
          ddChart.tooltip(false)
          ddChart.coord('polar', {
            transposed: true,
            radius: 1.9
          })
          ddChart.axis(false);
          ddChart.interval().position('a*percent').color('name', ['#61E2C4', '#52AAFE', '#A0AEFA', '#F38E68', '#868B96 ']).adjust('stack').style({
            lineWidth: 1,
            stroke: '#fff',
            lineJoin: 'round',
            lineCap: 'round'
          }).animate({
            appear: {
              duration: 1200,
              easing: 'bounceOut'
            }
          })
          ddChart.render();
        },
        // 图表2
        onDraw1(ddChart) {
          //dd-charts组件内部会回调此方法,返回图表实例ddChart
          //提示:可以把异步获取数据及渲染图表逻辑放onDraw回调里面
          ddChart.clear()
          let chartDataNew = this.data.chartDataNew1
          ddChart.scale({
            ring: {
              range: [0.05, 1]
            }
          })
          ddChart.source(chartDataNew, {
            title: {
              min: 0,
              formatter: function formatter(val) {
                return val;
              }
            }
          })
          ddChart.interval().position('ring*value').color('title').adjust('stack');
          ddChart.render();
        },
      }  
    })

    在axml中

    <dd-charts canvasId="ddchart-dom-bar" onDraw="onDraw"></dd-charts>
    <dd-charts canvasId="ddchart-dom-bar1" onDraw="onDraw1"></dd-charts>
  • 相关阅读:
    [LeetCode] Search a 2D Matrix
    CCBPM中的消息机制,CCIM服务端安装说明
    程序基石系列之C++多态的前提条件
    汇编中常见的一些错误信息
    浏览器的CSS Hacks
    易学设计模式看书笔记(7)
    [易飞]简易制程日报-月报
    js thiskeyword
    时空-问题集锦(转载)
    Delphi 组件渐进开发浅谈(二)——双简合璧
  • 原文地址:https://www.cnblogs.com/wgl0126/p/11535125.html
Copyright © 2011-2022 走看看