欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序基礎教程之echart的使用

 更新時間:2021年06月01日 10:43:13   作者:秋英之空  
簡單的使用echarts不難,但是在小程序里用echarts可能有些理不清。所以這篇文章主要給大家介紹了關于微信小程序基礎教程之echart使用的相關資料,需要的朋友可以參考下

前言

先看下最終實現(xiàn)的效果–自己做的小demo

首先到ECharts官網下載官網地址

根據(jù)上面的網址下載代碼把ec-canvas文件拷貝下來放到你自己的項目中,

我放的是tool文件夾下面,你們隨意引入的時候注意路徑就行

2.使用

然后在你需要用的頁面引入,在json中加入,這里要注意路徑echart.json

"usingComponents": {
    "tab":"../../component/tabs/tab",
    "ec-canvas":"../../tools/ec-canvas/ec-canvas"
  },

3 渲染

先把簡單的布局和樣式弄好echart.wxml

<view class="echart">
 <tab active-tab="{{activeTab}}" period-list="{{periodList}}" bind:changePeriodType='changePeriodType'></tab>
 <view class="echart-position">
    <ec-canvas id="mychart-dom-bar" canvas-id="mychart-bar"></ec-canvas>
 </view>
 
</view>

樣式echart.wxss

.echart-position {
    position:relative;
    height: 280px;
    overflow:hidden;
  }

echart.js

先引入

import * as echarts from '../../tools/ec-canvas/echarts';
function setOption(chart,data){
    var option = {
        title: {
            text: ''
        },
        tooltip: {
            trigger: 'item'
        },
        legend: {
            data: []
        },
        series: [{
            name: '',
            type: 'pie',
            radius: ['40%', '70%'],
            avoidLabelOverlap: false,
            label: {
                show: false,
                position: 'center'
            },
            emphasis: {
                label: {
                    show: true,
                    fontSize: '40',
                    fontWeight: 'bold'
                }
            },
            labelLine: {
                show: false
            },
            data: [
               ...data
            ]
        }]
    };
    chart.setOption(option);
    return chart;
}
Page({
    data: {
        periodList: [
            {
                id: 'outcome',
                text: '支出'
            },
            {
                id: 'income',
                text: '收入'
            },
        ],
        activeTab: 'outcome',
        echartsData: null, // echarts 數(shù)據(jù)
    },
    // 收入支出切換事件
    changePeriodType(e) {
        console.log(e, '<=收入支出切換事件')
        this.setData({
            activeTab: e.detail.params.type
        })
        // 重新查詢列表
        this.getEchartData();
    },
    // 查詢收入支出數(shù)據(jù)
    getEchartData() {
        wx.cloud.database().collection('spendD').where({
            type: this.data.activeTab == 'outcome' ? 0 : 1
        }).get().then(res => {
            let calcResult  = this.handleOriginData(res.data);
            this.setData({
                echartsData:calcResult
            })
            this.init_one(calcResult)
        })
    },
    handleOriginData(array) {
        let result = [];
        let obj = {}
        array.forEach(item => {
            if (!obj[item.name]) {
                obj[item.name] = 0;
            }
            obj[item.name] += Number(item.amount);
        })

        for(let key in obj){
            let temp  = {};
            temp['name'] = key;
            temp['value']= obj[key];
            result.push(temp);
        }
        console.log(result,'result')
        return result
    },
    /**
   * 生命周期函數(shù)--監(jiān)聽頁面加載
   */

  init_one: function (data) {           //初始化圖表
    this.echartComponent.init((canvas, width, height) => {
        const chart = echarts.init(canvas, null, {
            width: width,
            height: height
        });
        setOption(chart,data)
        this.chart = chart;
        return chart;
    });
},
    onLoad: function (options) {
        this.getEchartData()
    },

    /**
     * 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
     */
    onReady: function () {
        this.echartComponent = this.selectComponent('#mychart-dom-bar');  
    },

})

采坑tips 當按照教程配置好圖沒有預想出來時 注意添加下樣式

總結

到此這篇關于微信小程序基礎教程之echart使用的文章就介紹到這了,更多相關微信小程序echart使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • JavaScript異步編程中async函數(shù)詳解

    JavaScript異步編程中async函數(shù)詳解

    async函數(shù)是使用async關鍵字聲明的函數(shù)。 async函數(shù)是AsyncFunction構造函數(shù)的實例, 并且其中允許使用await關鍵字。async和await關鍵字讓我們可以用一種更簡潔的方式寫出基于Promise的異步行為,而無需刻意地鏈式調用promise
    2022-11-11
  • 詳解JavaScript創(chuàng)建數(shù)組的三種方式

    詳解JavaScript創(chuàng)建數(shù)組的三種方式

    這篇文章主要介紹了JavaScript創(chuàng)建數(shù)組的三種方式:直接聲明,?以對象方式創(chuàng)建數(shù)組和使用?Array.from()?方法創(chuàng)建,并通過代碼示例講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2024-06-06
  • JavaScript瀑布流布局實現(xiàn)代碼

    JavaScript瀑布流布局實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了JavaScript瀑布流布局的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • CountUp.js數(shù)字滾動插件使用方法詳解

    CountUp.js數(shù)字滾動插件使用方法詳解

    這篇文章主要為大家詳細介紹了CountUp.js數(shù)字滾動插件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • JavaScript實現(xiàn)兩個select下拉框選項左移右移

    JavaScript實現(xiàn)兩個select下拉框選項左移右移

    這篇文章主要介紹了JavaScript實現(xiàn)兩個select下拉框選項左移右移功能,js實現(xiàn)下拉框元素互相移動,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 多個js毫秒倒計時同時進行效果

    多個js毫秒倒計時同時進行效果

    這篇文章主要以實例的方式講解多個js毫秒倒計時同時進行效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • 關于promise和async用法以及區(qū)別詳解

    關于promise和async用法以及區(qū)別詳解

    Promise是一個構造函數(shù),我們就可以new Promise()得到一個 Promise的實例,下面這篇文章主要給大家介紹了關于promise和async用法以及區(qū)別的相關資料,需要的朋友可以參考下
    2023-01-01
  • bootstrap daterangepicker漢化以及擴展功能

    bootstrap daterangepicker漢化以及擴展功能

    這篇文章主要為大家詳細 介紹了bootstrap daterangepicker漢化以及擴展功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 使用taro開發(fā)微信小程序遇到的坑總結

    使用taro開發(fā)微信小程序遇到的坑總結

    Taro,京東凹凸實驗室出品的適配多端的一個框架,這篇文章主要介紹了使用taro開發(fā)微信小程序遇到的坑總結,需要的朋友可以參考下
    2019-04-04
  • Bootstrap每天必學之彈出框(Popover)插件

    Bootstrap每天必學之彈出框(Popover)插件

    Bootstrap每天必學之彈出框(Popover)插件,彈出框的內容完全可使用 Bootstrap 數(shù)據(jù) API(Bootstrap Data API)來填充,如何實現(xiàn)請參考本文
    2016-04-04

最新評論