趋势图

作者: 皇甫洛 | 来源:发表于2022-03-02 14:57 被阅读0次

最近在做NFT类项目,因为框架用的vue3,步子迈大了,容易扯着蛋,首先是钱包(先不表),其次是趋势图,生态不太完善,找了半天没结果,最后找到合适的,不说废话上效果,上代码

1

安装

npm install @fnando/sparkline --save

yarn add @fnando/sparkline

引入import sparkline from "@fnando/sparkline";

<svg id="sparkline" width="100" height="30" stroke-width="2" stroke="#4279F7" fill="rgba(0, 0, 255, .2)"></svg>

<script>

const findClosest = (target, tagName) => {

      if (target.tagName === tagName) {

        return target;

      }

      while ((target = target.parentNode)) {

        if (target.tagName === tagName) {

          break;

        }

      }

      return target;

    }

    const init = () => {

      var options = {

        onmousemove(event, datapoint) {

          var svg = findClosest(event.target, "svg");

          var tooltip = svg.nextElementSibling;

          var date = (new Date(datapoint.date)).toUTCString().replace(/^.*?, (.*?) \d{2}:\d{2}:\d{2}.*?$/, "$1");

          tooltip.hidden = false;

          tooltip.textContent = `${date}: $${datapoint.value.toFixed(2)} USD`;

          tooltip.style.top = `${event.offsetY}px`;

          tooltip.style.left = `${event.offsetX + 20}px`;

        },

        onmouseout() {

          var svg = findClosest(event.target, "svg");

          var tooltip = svg.nextElementSibling;

          tooltip.hidden = true;

        }

      };

      sparkline(document.getElementById('sparkline'), [1, 5, 2, 4, 8, 3, 7], options);

    }

    onMounted(() => {

      init()

    })

</script>

相关文章

网友评论

      本文标题:趋势图

      本文链接:https://www.haomeiwen.com/subject/brasrrtx.html