Vue大屏数据展示示例

高效实现需求,避免臃肿的组件库和重复造轮子,前段时间做了很多大屏展示类的项目,今天来跟大家分享一下,大屏的实践过程,最开始我是使用了dataview 这个组件库,然后发现是自己并不需要它太多的封装好的组件,而且在移动端,有样式错乱的问题。所以自己看了他的实现方式,搞了一个大屏自适应的组件。话不多说,直接上效果图:

效果图

需要适配所有尺寸的大型显示屏,并且在手机上,可以缩放查看效果。我这里添加了这样一段代码,通过缩放body的大小,进行等比例放大缩小,达到不变形,整体适配的效果。

 <script>
        //页面缩放公共
        function resizePage() {
          // 获取window的高度
          var clientW = window.innerWidth
          var clientH = window.innerHeight
          // 初始window与body的比值
          var bi =  clientW / 1920
          // 设置body的宽高-可根据实际情况进行调节
          document.getElementsByTagName('body')[0].style.width = "1920px"
          document.getElementsByTagName('body')[0].style.height = "1080px"
          document.getElementsByTagName('body')[0].style.transform ='scale(' + bi + ',' + bi + ')'
          document.getElementsByTagName('body')[0].style.transformOrigin ='left top 0'

        }
        resizePage()
        // resizePage();
        window.onresize = function () {
          setTimeout(()=>{
          resizePage();

          },200)
        }
    </script>

代码实现:

封装一个适配的大的组件,可以设大屏的背景图和整体效果。其他的基本都是使用的echart的组件库,因没有什么特别的定制的需求图标。所以也没有做太多的个性化操作

<template>
  <div id="dv-full-screen-container">
    <template >
      <slot></slot>
    </template>
  </div>
</template>

<script>
export default {

  mounted(){
  }
}
</script>

<style lang="less">
#dv-full-screen-container {
  position: fixed;
  top: 0px;
  left: 0px;
  overflow: hidden;
  transform-origin: left top;
  z-index: 999;
  width:100%;
  height:1080pxee
}
</style>
<template>
  <div class="full">
    <dv-full-screen-container ref="full">
       content
    </dv-full-screen-container>
  </div>
</template>
<script>

import  fullScreenContainer  from './fullscreen'
export default {
  components:{
    'dv-full-screen-container':fullScreenContainer
  },
  mounted(){

  },
  created(){
  },
  methods:{

  }
}
</script>
<style lang="less">
.full {
  #dv-full-screen-container {
    background:#000222 url(../assets/images/bg.png);
    background-size: 100% 100%;
    overflow: auto;

    .full-big-border {
      .content {
        padding: 0 38px 0 38px;
        width: calc(100% - 76px);
        display: flex;
      }
    }
  }

}
</style>

总结:

以上就是自己实现大屏整体适配的效果和方法,一开始想偷懒,直接使用dataview 可以直接使用,但是可能在自己的需求的时候,难以达到,或则想的是安装一套太臃肿的组件库,难以扶平自己的强迫症。希望大家有更好的封装方法,我这只是实现一点皮毛,希望对刚入门的同学有所帮助。

到此这篇关于Vue大屏数据展示示例的文章就介绍到这了,更多相关Vue大屏数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 基于vue+echarts 数据可视化大屏展示的方法示例

    获取 ECharts 的路径有以下几种,请根据您的情况进行选择: 1) 最直接的方法是在 ECharts 的官方网站中挑选适合您的版本进行下载,不同的打包下载应用于不同的开发者功能与体积的需求,或者您也可以直接下载完整版本:开发环境建议下载源代码版本,包含了常见的错误提示和警告. 2) 也可以在 ECharts 的 GitHub 上下载最新的 release 版本,解压出来的文件夹里的 dist 目录里可以找到最新版本的 echarts 库. 3) 或者通过 npm 获取 echarts,npm

  • 基于vue+echarts数据可视化大屏展示的实现

    获取 ECharts 的路径有以下几种,请根据您的情况进行选择: 1) 最直接的方法是在 ECharts 的官方网站中挑选适合您的版本进行下载,不同的打包下载应用于不同的开发者功能与体积的需求,或者您也可以直接下载完整版本:开发环境建议下载源代码版本,包含了常见的错误提示和警告. 2) 也可以在 ECharts 的 GitHub 上下载最新的 release 版本,解压出来的文件夹里的 dist 目录里可以找到最新版本的 echarts 库. 3) 或者通过 npm 获取 echarts,npm

  • vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能

    随着前端技术的飞速发展,大数据时代的来临,我们在开发项目时越来越多的客户会要求我们做一个数据展示的大屏,可以直观的展示用户想要的数据,同时炫酷的界面也会深受客户的喜欢. 大屏展示其实就是一堆的图表能够让人一目了然地看到该系统下的一些基本数据信息的汇总,也会有一些实时数据刷新,信息预警之类的.笔者在之前也做过一些大屏类的数据展示,但是由于都是一些图表类的,觉得没什么可说的,加之数据也都牵扯到公司,所以没有沉淀下来什么. 最近有朋友要做一个大屏,问了自己一个问题,自己也刚好做了一个简单的大屏数据展示

  • Vue大屏数据展示示例

    高效实现需求,避免臃肿的组件库和重复造轮子,前段时间做了很多大屏展示类的项目,今天来跟大家分享一下,大屏的实践过程,最开始我是使用了dataview 这个组件库,然后发现是自己并不需要它太多的封装好的组件,而且在移动端,有样式错乱的问题.所以自己看了他的实现方式,搞了一个大屏自适应的组件.话不多说,直接上效果图: 效果图 需要适配所有尺寸的大型显示屏,并且在手机上,可以缩放查看效果.我这里添加了这样一段代码,通过缩放body的大小,进行等比例放大缩小,达到不变形,整体适配的效果. <script

  • Vue使用Echarts实现大屏可视化布局示例详细讲解

    目录 一.效果展示 二.基本的布局 三.背景 四.代码 布局中遇到的一些问题 一.效果展示 先看一下展示的效果,无论是尺寸多宽的屏幕,都会将内容显示完整,做到了正正的响应式.唯一不足的是图表中的样例,会随着图表的缩放而变换位置,窗口尺寸变化过快会反应不过来,好在有节流函数,可以让浏览器计算量没有那么大.本篇博客不会直接拿echarts图表下手,会先介绍一些这个大屏可视化的响应式布局.后面会出一个专门的博客介绍echarts的使用. 二.基本的布局 大致的布局如下,整体分为头部与body,头部有标

  • vue大屏展示适配的方法

    本文实例为大家分享了vue大屏展示适配的具体代码,供大家参考,具体内容如下 1.utils文件夹建一个文件cv以下代码 export function useIndex (appRef) { // * appRef指向最外层容器 // * 定时函数 let timer = null // * 默认缩放值 const scale = { width: '1', height: '1' } // * 设计稿尺寸(px) const baseWidth = 1920 const baseHeight

  • python可视化大屏库big_screen示例详解

    目录 big_screen 特点 安装环境 输入数据 本地运行 在线部署 对于从事数据领域的小伙伴来说,当需要阐述自己观点.展示项目成果时,我们需要在最短时间内让别人知道你的想法.我相信单调乏味的语言很难让别人快速理解.最直接有效的方式就是将数据如上图所示这样,进行可视化展现. 具体如下: big_screen 特点 便利性工具, 结构简单, 你只需传数据就可以实现数据大屏展示. 安装环境 pip install -i https://pypi.tuna.tsinghua.edu.cn/simp

  • Vue.js 实现数据展示全部和收起功能

    如图所示,当我们获取到数据后每个栏都只显示5条,多出的部分隐藏,点击显示全部将数据都展现出来,如图所示 首先我们的数据类型是这样的, tableData: [ { "comment": "", "lscm": [ { "count": "1268", "id": 1, "namech": "OGC WMTS", "nameen"

  • echart实现大屏动效示例详解

    目录 1.通过dataZoom实现柱状图动态前移效果 2.叠加流光效果 3.柱状图光亮轮播 1.通过dataZoom实现柱状图动态前移效果 最近做大屏相关需求,产品说需要炫酷一点的效果,于是做了一些echart相关的动效 设置dataZoom当前缩放值,加定时器,实现轮播效果. 示例: option = { color: ['#1E90FF', '#FFA500'], tooltip: { trigger: 'axis', axisPointer: {} }, grid: { left: 20,

  • vue 运用mock数据的示例代码

    本文介绍了vue 运用mock数据的示例代码,分享给大家,具体如下: 初始化你的项目 话不用啰嗦,首先初始化你的项目,最简单的就是使用vue-cli啦 vue init webpack 引入mock.js 安装 mockjs npm install --save-dev mockjs 引入到Vue原型上,方便使用 import mockjs from 'mockjs' Vue.prototype.$mock = Vue.$mock = mockjs.mock 以上引入到Vue原型上,可以使用 t

  • 通过Mybatis实现单表内一对多的数据展示示例代码

    表: 需求: 将表中的数据,按照一级二级分类返回给前端json数据 代码实现: java代码: public class ResultIndustry { private String industryFirst;//一级行业 private List<String> industrySecondList;//二级行业 mybatis代码: <select id="getResultIndustryList" resultMap="resultIndustr

  • vue 请求后端数据的示例代码

    在vue中,我们如何通过请求接口来访问后端的数据呢?在这里简单总结了一个小示例: 主要问题:如果不封装的话,在每次请求的时候都要书写一遍下面的代码,造成代码冗余. 1.在src目录下创建一个utils文件夹,然后在里面创建一个js文件.这里我创建了一个request.js文件. /*引入axios*/ import axios from 'axios' const request = axios.create({ baseURL: 'http://localhost:8280/user', //

随机推荐