DataGear 制作基于Vue前端框架渲染的数据可视化看板

news/2024/7/9 23:39:55 标签: 数据可视化, 数据分析, echarts, vue, elementui

DataGear 在4.3.0版本新增了dg-dashboard-code特性,并在4.4.0版本进行了改进和增强,结合看板API,可以很方便地制作完全由Vue、React等前端框架渲染的数据可视化看板。

本文基于Vue2、Element UI前端框架的<el-container><el-header><el-aside><el-main><el-row>等布局组件定义整个看板页面,并异步加载由Vue的v-for语法构建的图表元素。

首先,新建空白看板,填写名称后,先保存。

在编写看板页面之前,需要先下载 Vue2、Element UI库,加入看板资源中。

Vue2下载地址:

https://unpkg.com/vue@2.7.14/dist/vue.min.js

Element UI下载地址:

https://unpkg.com/element-ui@2.15.12/lib/theme-chalk/index.css

https://unpkg.com/element-ui@2.15.12/lib/index.js

https://unpkg.com/element-ui@2.15.12/lib/theme-chalk/fonts/element-icons.woff

加入后的看板资源如下所示:

index.html
lib/
  |-- element-ui@2.15.12/
        |-- index.js
        |-- theme-chalk/
              |-- fonts/
                    |-- element-icons.woff
              |-- index.css
  |-- vue@2.7.14/
        |-- vue.min.js

加入看板资源后,编写index.html内容如下:

<!DOCTYPE html>
<html dg-dashboard-code="instance" dg-loadable-chart-widgets="异步加载图表部件ID-1,异步加载图表部件ID-2">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="lib/element-ui@2.15.12/theme-chalk/index.css">
<script src="lib/vue@2.7.14/vue.min.js"></script>
<script src="lib/element-ui@2.15.12/index.js"></script>
</head>
<body dg-chart-auto-resize="true" style="margin:0;">
<div id="app">
  <el-container style="height:100vh">
    <el-header style="text-align:center;font-weight:bold;font-size:2rem;">DataGear看板示例</el-header>
    <el-main>
      <el-container style="height:100%;">
        <el-aside>
          <div id="v-for-charts">
            <div v-for="chartId in loadChartIds" v-bind:dg-chart-widget="chartId" style="height:40vh;"></div>
          </div>
        </el-aside>
        <el-main>
          <el-row :gutter="20" style="height:100%;">
            <el-col :span="12" style="height:100%;">
              <div style="height:100%;" dg-chart-widget="图表部件ID-1"></div>
            </el-col>
            <el-col :span="12" style="height:100%;">
              <div style="height:100%;" dg-chart-widget="图表部件ID-2"></div>
            </el-col>
          </el-row>
        </el-main>
      </el-container>
    </el-main>
  </el-container>
</div>
</body>
</html>
<script>
new Vue(
{
  el: '#app',
  data()
  {
    let d =
    {
      loadChartIds: ["异步加载图表部件ID-1", "异步加载图表部件ID-2"]
    };
    return d;
  },
  mounted()
  {
    dashboard.render();
    dashboard.loadUnsolvedCharts("#v-for-charts");
  }
});
</script>

保存,看板制作完成!

上述看板代码中:

dg-dashboard-code="instance"
设置看板页面加载后,仅创建看板JS对象,不执行初始化和渲染,因为在Vue挂载完成之前页面真正的DOM元素是不可用的。

dg-loadable-chart-widgets='...'
设置dashboard.loadUnsolvedCharts()函数允许异步加载的图表,避免越权访问。

dashboard.render();
在Vue挂载完成后执行看板渲染,因为此时才可以访问页面真正的DOM元素。

dashboard.loadUnsolvedCharts("#v-for-charts");
#v-for-charts元素里面通过v-for创建的图表元素需采用异步加载方式渲染,因为后台解析看板模板时无法识别它们。

示例效果图如下所示:

在这里插入图片描述

官网地址:

http://www.datagear.tech

源码地址:

Gitee:https://gitee.com/datagear/datagear

Github:https://github.com/datageartech/datagear


http://www.niftyadmin.cn/n/112951.html

相关文章

Pinia的基本使用(vue3)

Pinia.js 是新一代的状态管理器Pinia.js 的特点&#xff1a;Vue2 和 Vue3 都能支持足够轻量&#xff0c;压缩后的体积只有1.6kb;抛弃传统的 Mutation &#xff0c;只有 state, getter 和 action &#xff0c;简化状态管理库actions 支持同步和异步&#xff1b;不需要嵌套模块&a…

这事得从 Element 的一个 bug 说起...

前言 笔者最近做项目时发现safari 浏览器下 Element UI 表格一个奇怪的bug&#xff08;表现见封面&#xff09;&#xff0c;在海量密集搜索之后&#xff0c;居然没有查到类似结果&#xff0c;于是打算自己操刀&#xff0c;深入源码分析bug 的成因&#xff0c;本篇文章带你详细…

【MySQL】查询操作(基础篇)

目录 1、查询操作(Retrieve) 1.1 全列查询 1.2 指定列查询 1.3 查询字段为表达式 1.4 别名 1.5 去重&#xff1a;DISTINCT 1.6 排序&#xff1a;ORDER BY 1.7 条件查询&#xff1a;WHERE 1.8 分页查询 1、查询操作(Retrieve) 查询操作算的上是 SQL 中最复杂的操作了…

PMP考前冲刺3.02 | 2023新征程,一举拿证

题目1-2&#xff1a;1.Ann刚刚接管一个正在进行的项目。在审查项目管理计划时&#xff0c;她意识到成本偏差和进度偏差主要是负面的。项目尚未完成&#xff0c;还未向客户支付已完成的工作&#xff0c;并且减轻次生风险正迅速耗尽预算。本应该采取哪种三项措施来避免这种情况&a…

C# 封装

修正bug之前总是要考虑是什么导致了这个bug&#xff0c;并花些时间了解发生了什么。增加打印输出行的语句可能是一个很有效的调试工具。增加语句来打印诊断信息时&#xff0c;要使用Debug.WriteLine。构造器是CLR第一次创建一个新对象实例时调用的方法。字符串插值会让字符串拼…

Zookeeper的安装

目录 Zookeeper的安装 1、环境准备 2、上传 3、解压文件到opt/zookeeper目下 4、安装完后进入zookeeper&#xff0c;找到conf目录 5、复制zoo_sample.cfg 6、编辑zoo.cfg 7、复制一份会话&#xff0c;进入zookeeper安装目录&#xff0c;创建一个文件夹zkdata&#xff0…

大数据框架之Hadoop:MapReduce(四)Hadoop数据压缩

4.1概述 1、压缩概述 压缩技术能够有效减少底层存储系统&#xff08;HDFS&#xff09;读写字节数。压缩提高了网络带宽和磁盘空间的效率。在运行MR程序时&#xff0c;IO操作、网络数据传输、shuffle和Merge要花大量的时间&#xff0c;尤其是数据规模很大和工作负载密集的情况…

异步Buck和同步Buck的特点

1 介绍 随着时代的发展&#xff0c;工业&#xff0c;车载&#xff0c;通信&#xff0c;消费类等产品都提出了小型化&#xff0c;智能化的需求。相应的&#xff0c;对于这些系统中的电源模块提出了小型化的要求。目前&#xff0c;市场上依然存在很多异步Buck电源管理芯片使用的场…