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

uni-app微信小程序使用echarts的詳細(xì)圖文教程

 更新時(shí)間:2022年10月13日 10:19:44   作者:七月?安生  
為了兼容小程序Canvas,ECharts提供了一個(gè)小程序的組件,用這種方式可以方便地使用ECharts,下面這篇文章主要給大家介紹了關(guān)于uni-app微信小程序使用echarts的相關(guān)資料,需要的朋友可以參考下

前言:

本來是使用的ucharts,但因?yàn)闊o法監(jiān)聽圖例點(diǎn)擊交互,滿足不了需求,所以只能放棄。

首先,下載echart組件。

可以先隨便建個(gè)文件夾,然后 npm init。接著下載依賴

npm install echarts mpvue-echarts

然后找到 node_modules\mpvue-echarts\下的文件,如圖

只留下src,其他的刪掉(沒有用到)。然后復(fù)制 mpvue-echarts文件夾到你項(xiàng)目的components中。如圖

接著需要echarts.min.js文件。

鏈接: ECharts 在線構(gòu)建定制echarts的js文件,選擇自己項(xiàng)目需要的圖表及組件,可以選擇進(jìn)行代碼壓縮。
把下載下來的 echarts.min.js放到你的項(xiàng)目中。?。。∵€需要修改里面的代碼,

!!!修改 echarts.min.js,否則會(huì)報(bào)錯(cuò) t.addEventListener is not a function。

1.增加代碼

var isDomLevel2 = (typeof window !== 'undefined') && !!window.addEventListener;

如下圖

2.修改 Le 和 Pe 函數(shù)(可通過ctrl+f搜索)如下

// An highlighted block
    function Pe(t, e, n, i) {
        if (isDomLevel2) {
            t.addEventListener(e, n, i)
        } else {
            t.attachEvent('on' + e, n)
        }
    }

    function Le(t, e, n, i) {
        if (isDomLevel2) {
            t.removeEventListener(e, n, i)
        } else {
            t.detachEvent('on' + e, n)
        }
    }

3.全文搜索 preventDefault() 修改當(dāng)前的方法函數(shù)增加判斷(我一開始沒改這個(gè),圖表正常沒啥問題,但是我用dataZoom滑動(dòng)時(shí)會(huì)報(bào)錯(cuò)“t.preventDefault is not a function”,然后改為如下代碼后就能正常滑動(dòng)了)

如下

// An highlighted block
    if (isDomLevel2) {
         t.preventDefault(), t.stopPropagation(), t.cancelBubble = !0
    } else {
         t.returnValue = false;
         t.cancelBubble = !0
    }

壓縮的代碼格式化后體積增加了1倍,所以我最后沒有格式化,直接在壓縮的代碼里找到對應(yīng)位置修改的。

需要準(zhǔn)備的東西都已經(jīng)好了,接下來正片開始!!

在頁面中使用:

<template>
  <view class="echarts-wrap">
    <my-echarts
      id="main"
      ref="mapChart"
      :echarts="echarts"
      :onInit="initChart"
    />
  </view>
</template>
 
<script>
import * as echarts from "@/pages/data/static/js/echarts.min.js";  //這里根據(jù)自己存放的路徑修改
import myEcharts from "@/pages/data/components/mpvue-echarts/src/echarts.vue"; //這里根據(jù)自己存放的路徑修改

let chart = null;  //放外層方便拿到echart實(shí)例
export default {
  components: {
    myEcharts,
  },
  data() {
    return {
      echarts,
    };
  },
  onReady() {},
  mounted() {
    setTimeout(() => {
      chart.on("click", (params) => {  //監(jiān)聽圖例點(diǎn)擊事件(詳細(xì)參見echart文檔)
        this.$emit("chartClick", params);
      });
    }, 500);
    this.updateData() //模擬動(dòng)態(tài)更新數(shù)據(jù)
  },
  methods: {
    initChart(canvas, width, height) {
      chart = echarts.init(canvas, null, {
        width: width,
        height: height,
      });
      canvas.setChart(chart);
      var option = {
        xAxis: {
          type: "category",
          data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
        },
        yAxis: {
          type: "value",
        },
        series: [
          {
            data: [120, 200, 150, 80, 70, 110, 130],
            type: "bar",
          },
        ]
      }; // ECharts 配置項(xiàng)(詳細(xì)的圖表配置參見 echart配置項(xiàng))

      chart.setOption(option);

      return chart; // 返回 chart 后可以自動(dòng)綁定觸摸操作
    },
    updateData(){
        setTimeout(()=>{
            chart.setOption({
                series:[{
                    data:[30, 90, 111, 20, 70, 88, 11]
                }]
            })
        },1000)
    },
  },
};
</script>
 
<style>
.echarts-wrap {
  width: 100%;
  height: 300px;
}
</style>

詳細(xì)的圖表配置參見 echart配置項(xiàng) 最后效果:

總結(jié) 

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

相關(guān)文章

最新評論