一别多日,好久没有和大家相见了。其一的原因是因为公司的项目,其二就是因为太懒了。现在给大家浅浅的介绍一下这个好用的大屏展示框架吧。如果后续有深入的话,我会出一个详解版本的。
一、dataV介绍
前言:由于当前的大数据时代,人们对所产生的数据都有十分大的展示需求,都需要更美观,更加直接的方式去查看数据。
datav网址:Welcome | DataV
二、dataV的使用
注意:目前的使用版本只支持vue2,不支持vue3.虽然官网上面有vue3的版本,但是我实际用起来很麻烦,网上看了很多的解决办法,选择了使用了有人把datav重新改写了一次的版本。但是内容是完全一致的。如果你的项目是vue3的话可以选择使用这个网站
套壳网站:DataV Vue3+TS+Vite版 | DataV - Vue3
由于我使用的是这个修改版本,那我就这个版本+vue3来进行讲解。
2.1 安装
-
安装,此处使用pnpm工具,也可以yarn,npm等
pnpm install @kjgl77/datav-vue3
2.2全局引入
// main.ts中全局引入 import { createApp } from 'vue' import DataVVue3 from '@kjgl77/datav-vue3' const app = createApp(App) app.use(DataVVue3) app.mount('#app')
2.3使用全屏容器
数据可视化页面一般在浏览器中进行全屏展示,全屏容器将根据屏幕比例及当前浏览器窗口大小,自动进行缩放处理。浏览器全屏后,全屏容器将充满屏幕。
<dv-full-screen-container>content</dv-full-screen-container>
使用datav可以快速的构建出一个大屏框架
<template><!-- 我是大屏--><dv-full-screen-container style="background-color: black"> <div class="module-box"><div style="flex: 0 1 30%"><div class="flex flex-direction"><dv-border-box-5 style="height: 20vh;">dv-border-box-8</dv-border-box-5><dv-border-box-6 style="height: 20vh;">dv-border-box-8</dv-border-box-6><dv-border-box-11 style="height: 20vh;">dv-border-box-8</dv-border-box-11></div></div><div style="flex: 0 1 40%"><dv-border-box-11 style="height: 60vh;width: 100%" title="dv-border-box-11"></dv-border-box-11></div><div style="flex: 0 1 30%"><div class="flex flex-direction"></div><dv-border-box-11 style="height: 30vh;" title="dv-border-box-11"></dv-border-box-11><dv-border-box-11 style="height: 30vh;" title="dv-border-box-11"></dv-border-box-11></div></div><div class="module-box"><div style="flex: 0 1 50%"><dv-border-box-11 style="height: 38vh;" title="dv-border-box-11"></dv-border-box-11></div><div style="flex: 0 1 50%"><dv-border-box-11 style="height: 38vh;" title="dv-border-box-11"></dv-border-box-11></div></div></dv-full-screen-container> </template>
三、使用echarts
3.1 下载echarts
从npm获取
npm install echarts
3.2示例代码
第一步:引入
import * as echarts from "echarts";
第二步:在mounted生命周期函数中调用方法
mounted() {this.setMap()},
第三步:创建一个dom元素
<div ref="chart" id="map3" style="width: 100%;height: 100%;"></div>
第四步:在setMap()方法中找到这个dom元素
let myChart = echarts.init(this.$refs.chart)
第五步:将echarts中的示例option引入进来
const option = {...你需要的配置}
第六步:将刚才的设置挂载到上这个dom元素中去
myChart.setOption(option)
将这个封装成一个组件,然后使用组件。
<template><div ref="chart" id="map3" style="width: 100%;height: 100%;"></div> </template> <script>//引入echarts import * as echarts from "echarts"; export default { name: "lineChart",data(){ },mounted() {this.setMap()},methods:{setMap(){let myChart = echarts.init(this.$refs.chart)const 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',showBackground: true,backgroundStyle: {color: 'rgba(180, 180, 180, 0.2)'}}]}myChart.setOption(option)//第二种// this.$nextTick(() => {// let map2 = echarts.init(document.getElementById('map3'))// this.chart2 = map2// map2.setOption( {// 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',// showBackground: true,// backgroundStyle: {// color: 'rgba(180, 180, 180, 0.2)'// }// }// ]// })// })}} } </script> <style scoped> </style>