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

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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据是一种展示大量数据信息的仪表盘,通过可方式帮助用户更好地理解和分析数据Vue是一种流行的前端框架,可以帮助开发者构建交互性强、响应快速的数据数据通常需要实现以下功能: 1. 数据展示:通过不同的图表和图形展示数据,如柱状图、折线图、饼图等,利用色彩、形状、尺寸等方式来区分不同数据。 2. 数据筛选和过滤:用户可以根据需要选择展示特定数据,例如选择特定日期、按照不同维度进行筛选等。 3. 数据交互和联动:用户可以与数据进行交互操作,如拖拽、点击等,实现数据的互动和联动效果。 4. 数据导出和分享:用户可以将数据导出为Excel、PDF等格式,方便分享和存档。 在Vue中实现数据的源码,可以通过以下步骤进行: 1. 数据获取:利用Vue的生命周期钩子函数,在组件挂载前获取需要展示的数据。 2. 数据处理和转换:根据需求对获取到的数据进行适当的处理和转换,例如将数据转为适合图表展示的格式。 3. 创建图表组件:在Vue中可以使用第三方的数据库如Echarts、highcharts等创建图表组件,传入处理后的数据进行渲染。 4. 实现交互和联动效果:利用Vue的事件绑定和数据绑定,在图表组件上实现交互和联动效果,例如点击图表某个节点展示详细数据等。 5. 样式和布局设计:利用Vue的组件开发思想,进行组件的样式和布局设计,使得整个数据界面美观和易用。 6. 部署和发布:将完成的Vue源码进行打包和部署,可以通过打包工具如Webpack、Rollup等将源码压缩和优,并发布到服务器上。 通过以上步骤,我们可以在Vue中实现一个功能完善的数据,提供给用户直观、全面的数据展示和分析功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值