国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在vue中使用echarts以及簡單關(guān)系圖的點(diǎn)擊事件

這篇具有很好參考價(jià)值的文章主要介紹了在vue中使用echarts以及簡單關(guān)系圖的點(diǎn)擊事件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在vue中使用echarts以及簡單關(guān)系圖的點(diǎn)擊事件

1.安裝

在Vue項(xiàng)目中打開終端執(zhí)行命令:

npm install echarts --save

下載后在package.json文件中可以看到下載的Echarts版本:

在vue中使用echarts以及簡單關(guān)系圖的點(diǎn)擊事件

2.導(dǎo)入

在需要使用Echarts圖表的頁面中導(dǎo)入:

import * as echarts from "echarts";

如果多個(gè)地方使用的話可以通過全局引入:

import * as echarts from 'echarts'
// 掛載到Vue實(shí)例
Vue.prototype.$echarts = echarts

3.繪制靜態(tài)圖表

在需要用到echarts的地方設(shè)置一個(gè)有寬高的div盒子

<div>
   <div
   ref="chart"
   style="width:800px;height:600px;margin: auto">
    </div>
</div>

定義echarts關(guān)系圖的數(shù)據(jù)

  data() {
   return {
     data: [
       {
         name: "Node 1",
         x: 300,
         y: 300,
       },
       {
         name: "Node 2",
         x: 800,
         y: 300,
       },
       {
         name: "Node 3",
         x: 550,
         y: 100,
       },
       {
         name: "Node 4",
         x: 550,
         y: 500,
       },
     ],
     links: [
       {
         source: 0,
         target: 1,
         symbolSize: [5, 20],
         label: {
           show: true,
         },
         lineStyle: {
           width: 5,
           curveness: 0.2,
         },
       },
       {
         source: "Node 2",
         target: "Node 1",
         label: {
           show: true,
         },
         lineStyle: {
           curveness: 0.2,
         },
       },
       {
         source: "Node 1",
         target: "Node 3",
       },
       {
         source: "Node 2",
         target: "Node 3",
       },
       {
         source: "Node 2",
         target: "Node 4",
       },
       {
         source: "Node 1",
         target: "Node 4",
       },
     ],
     num: 0,  // 點(diǎn)擊次數(shù)
   };
 },

在methods中定義實(shí)例化echarts對(duì)象的方法,在mounted生命周期中調(diào)用(確保dom元素已經(jīng)掛載到頁面當(dāng)中)

mounted() {
    this.getEchartData();
  },
  methods: {
    getEchartData() {
      const chart = this.$refs.chart;
       // 初始化echarts
      this.mychart = echarts.init(chart);
      let that = this;
       // option就是需要引進(jìn)echarts關(guān)系圖中的代碼
      let option = {
        title: {
          text: "Basic Graph",
        },
        tooltip: {},
        animationDurationUpdate: 1500,
        animationEasingUpdate: "quinticInOut",
        series: [
          {
            type: "graph",
            layout: "none",
            symbolSize: 50,
            roam: true,
            label: {
              show: true,
            },
            edgeSymbol: ["circle", "arrow"],
            edgeSymbolSize: [4, 10],
            edgeLabel: {
              fontSize: 20,
            },
            lineStyle: {
              opacity: 0.9,
              width: 2,
              curveness: 0,
            },
            // data: []
            data: that.data,
            // links: [],
            links: that.links,
          },
        ],
      };
       // option數(shù)據(jù)放入圖表中
      this.mychart.setOption(option);
    },
  },

啟動(dòng)項(xiàng)目,在頁面中看到如下效果:

在vue中使用echarts以及簡單關(guān)系圖的點(diǎn)擊事件

4. 關(guān)系圖節(jié)點(diǎn)點(diǎn)擊事件

上面只是展示了靜態(tài)的關(guān)系圖,如節(jié)點(diǎn)數(shù)據(jù)太多,各節(jié)點(diǎn)關(guān)系復(fù)雜,就可只展示主要數(shù)據(jù),其他可通過點(diǎn)擊節(jié)點(diǎn)查看各節(jié)點(diǎn)關(guān)系

需求:新建一個(gè)Node5,Node5和Node2有關(guān)系,點(diǎn)擊Node2展示Node5節(jié)點(diǎn)

在上面原本的getEchartData()方法中,添加關(guān)系圖的節(jié)點(diǎn)點(diǎn)擊事件

通過事件參數(shù)param中的dataType屬性值確認(rèn)點(diǎn)擊的對(duì)象是關(guān)系圖節(jié)點(diǎn)還是節(jié)點(diǎn)之間的邊緣,值為node時(shí)點(diǎn)擊的是節(jié)點(diǎn),值為edge時(shí)點(diǎn)擊的是邊緣

通過param中的dataIndex值確定點(diǎn)擊的節(jié)點(diǎn)元素

完整代碼如下:

getEchartData() {
      const chart = this.$refs.chart;
      // 初始化echarts
      this.mychart = echarts.init(chart);
      let that = this;
      // option就是需要引進(jìn)echarts關(guān)系圖中的代碼
      let option = {
        title: {
          text: "Basic Graph",
        },
        tooltip: {},
        animationDurationUpdate: 1500,
        animationEasingUpdate: "quinticInOut",
        series: [
          {
            type: "graph",
            layout: "none",
            symbolSize: 50,
            roam: true,
            label: {
              show: true,
            },
            edgeSymbol: ["circle", "arrow"],
            edgeSymbolSize: [4, 10],
            edgeLabel: {
              fontSize: 20,
            },
            lineStyle: {
              opacity: 0.9,
              width: 2,
              curveness: 0,
            },
            // data: []
            data: that.data,
            // links: [],
            links: that.links,
          },
        ],
      };

      // echarts圖表的點(diǎn)擊事件,可通過param參數(shù)確認(rèn)點(diǎn)擊的對(duì)象
      that.mychart.on("click", function (param) {
        if (param.dataType == "node") {
            // Node2的 param.dataIndex 值為1
          if (param.dataIndex == 1) {
              // 判斷點(diǎn)擊的次數(shù),單數(shù)顯示Node5數(shù)據(jù),雙數(shù)隱藏
            that.num++;
            if (that.num % 2 == 1) {
              that.data.push({
                name: "Node 5",
                x: 900,
                y: 300,
              });
              that.links.push({
                source: "Node 2",
                target: "Node 5",
              });
              that.mychart.setOption(option);
            } else {
              that.data.pop();
              that.links.pop();
              that.mychart.setOption(option);
            }
          }
        } else {
          console.log("點(diǎn)擊了邊", param);
        }
      });
      // option數(shù)據(jù)放入圖表中
      this.mychart.setOption(option);
    },

最終效果如下:

在vue中使用echarts以及簡單關(guān)系圖的點(diǎn)擊事件文章來源地址http://www.zghlxwxcb.cn/news/detail-480094.html

到了這里,關(guān)于在vue中使用echarts以及簡單關(guān)系圖的點(diǎn)擊事件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vue+echarts 實(shí)現(xiàn)地圖tooltip點(diǎn)擊事件;toolTip數(shù)據(jù)動(dòng)態(tài)渲染;同時(shí)鼠標(biāo)滑過漣漪點(diǎn)時(shí)實(shí)現(xiàn)地圖多區(qū)域聯(lián)動(dòng)

    vue+echarts 實(shí)現(xiàn)地圖tooltip點(diǎn)擊事件;toolTip數(shù)據(jù)動(dòng)態(tài)渲染;同時(shí)鼠標(biāo)滑過漣漪點(diǎn)時(shí)實(shí)現(xiàn)地圖多區(qū)域聯(lián)動(dòng)

    最終做出來的效果是這樣的: 最近做項(xiàng)目時(shí),遇到這樣的需求: ? ? ? ? 1、toolTip上的數(shù)據(jù)根據(jù)后臺(tái)動(dòng)態(tài)渲染 ? ? ? ? 2、鼠標(biāo)移入地圖漣漪點(diǎn)時(shí)顯示tootTip,點(diǎn)擊toolTip上的文字,攜帶動(dòng)態(tài)數(shù)據(jù)id進(jìn)行路由跳轉(zhuǎn) ? ? ? ? 3、鼠標(biāo)移入地圖漣漪點(diǎn),與漣漪點(diǎn)相關(guān)的省份多區(qū)域聯(lián)動(dòng)

    2024年02月09日
    瀏覽(27)
  • 【Echarts圖例點(diǎn)擊事件】自定義Echarts圖例legend點(diǎn)擊事件(已解決)

    【Echarts圖例點(diǎn)擊事件】自定義Echarts圖例legend點(diǎn)擊事件(已解決)

    **【寫在前面】**這下我又不得不說了,還是客戶現(xiàn)場使用時(shí)想查詢一周的數(shù)據(jù),查詢時(shí)候發(fā)現(xiàn)頁面居然要等20多秒,這是個(gè)人都得崩潰吧,然后就開始排查這塊業(yè)務(wù)代碼模塊,主要體現(xiàn)在兩個(gè)方面: A.接口請(qǐng)求時(shí)間過長(約8秒),有優(yōu)化的空間 B.前端一次性調(diào)用了四次接口,分

    2023年04月08日
    瀏覽(28)
  • Vue 之 vue-seamless-scroll 實(shí)現(xiàn)簡單自動(dòng)無縫滾動(dòng),且添加對(duì)應(yīng)點(diǎn)擊事件的簡單整理

    Vue 之 vue-seamless-scroll 實(shí)現(xiàn)簡單自動(dòng)無縫滾動(dòng),且添加對(duì)應(yīng)點(diǎn)擊事件的簡單整理

    目錄 Vue 之 vue-seamless-scroll 實(shí)現(xiàn)簡單自動(dòng)無縫滾動(dòng),且添加對(duì)應(yīng)點(diǎn)擊事件的簡單整理 一、簡單介紹 二、安裝和使用 三、效果圖 四、vue-seamless-scroll 點(diǎn)擊事件實(shí)現(xiàn)原理 ?五、簡單實(shí)現(xiàn) ?六、關(guān)鍵代碼 Vue 開發(fā)的一些知識(shí)整理,方便后期遇到類似的問題,能夠及時(shí)查閱使用。 本

    2024年02月09日
    瀏覽(25)
  • echarts 點(diǎn)擊事件

    餅圖點(diǎn)擊事件會(huì)觸發(fā)兩次 可以通過點(diǎn)擊事件 查詢當(dāng)前餅圖是裂開還是合上的狀態(tài) a.event.target.parent._children是餅圖的對(duì)象數(shù)組 數(shù)組中selected為true代表當(dāng)前為選中狀態(tài),反之未選中 echarts的legend事件禁用以及l(fā)egend顯示百分比 自定義fomatter圖標(biāo)消失解決

    2024年02月11日
    瀏覽(23)
  • echarts用法之點(diǎn)擊事件

    echarts用法之點(diǎn)擊事件 - 知乎 echarts可以通過點(diǎn)擊事件獲取每項(xiàng)的值:myChart.on(\\\'click\\\', function (param) { } // myChart為自定義變量:var myChart = echarts.init(document.getElementById(\\\'echartBox\\\')); 可以通過param… https://zhuanlan.zhihu.com/p/588249196

    2024年02月08日
    瀏覽(28)
  • echarts的tooltip添加點(diǎn)擊事件

    echarts的tooltip添加點(diǎn)擊事件

    效果如下 ?代碼如下 ?代碼如下

    2024年02月16日
    瀏覽(28)
  • 使用VUE實(shí)現(xiàn)點(diǎn)擊事件

    使用VUE實(shí)現(xiàn)點(diǎn)擊事件

    1,使用ps對(duì)圖片進(jìn)行切片 ?2,切片好的圖片保存為web所用格式 ?保存到桌面后進(jìn)行使用 1.將準(zhǔn)備好的圖片拖進(jìn)web文件中進(jìn)行使用 2.代碼部分 a.樣式部分(根據(jù)圖片進(jìn)行設(shè)計(jì)大小格式,排序和整體樣式.) b.div部分 c.組件部分

    2024年02月05日
    瀏覽(17)
  • echarts實(shí)現(xiàn)漸變折線圖并添加點(diǎn)擊事件

    echarts實(shí)現(xiàn)漸變折線圖并添加點(diǎn)擊事件

    ? ? ?折線圖點(diǎn)擊事件代碼: ?完整代碼如下:

    2024年02月16日
    瀏覽(26)
  • vue大屏開發(fā)系列—使用echart開發(fā)省市地圖數(shù)據(jù),并點(diǎn)擊省獲取市地圖數(shù)據(jù)

    vue大屏開發(fā)系列—使用echart開發(fā)省市地圖數(shù)據(jù),并點(diǎn)擊省獲取市地圖數(shù)據(jù)

    1.?本文在基礎(chǔ)上進(jìn)行改進(jìn),后端使用若依后端 IofTV-Screen: ??一個(gè)基于 vue、datav、Echart 框架的物聯(lián)網(wǎng)可視化(大屏展示)模板,提供數(shù)據(jù)動(dòng)態(tài)刷新渲染、屏幕適應(yīng)、數(shù)據(jù)滾動(dòng)配置,內(nèi)部圖表自由替換、Mixins注入等功能,持續(xù)更新.... - Gitee.com 2.效果:將系統(tǒng)大屏顯示地圖 3. 使

    2024年02月04日
    瀏覽(26)
  • 小程序中使用echarts的相關(guān)配置以及折線圖案例(簡單易懂)

    小程序中使用echarts的相關(guān)配置以及折線圖案例(簡單易懂)

    第一步:引入echarts文件--此文件需要下載: ?下載地址:點(diǎn)擊此處進(jìn)行下載echarts文件 點(diǎn)擊 Download ZIP 下載壓縮包, 注意:e-canvas是我從完整的文件中剝離出來的有用的,不會(huì)影響項(xiàng)目。 第二步:把整個(gè)文件放入到小程序文件里。 第三步:在需要的組件中進(jìn)行正確引入 ? ?

    2024年02月07日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包