Vue大屏數(shù)據(jù)展示示例
高效實(shí)現(xiàn)需求,避免臃腫的組件庫(kù)和重復(fù)造輪子,前段時(shí)間做了很多大屏展示類(lèi)的項(xiàng)目,今天來(lái)跟大家分享一下,大屏的實(shí)踐過(guò)程,最開(kāi)始我是使用了dataview 這個(gè)組件庫(kù),然后發(fā)現(xiàn)是自己并不需要它太多的封裝好的組件,而且在移動(dòng)端,有樣式錯(cuò)亂的問(wèn)題。所以自己看了他的實(shí)現(xiàn)方式,搞了一個(gè)大屏自適應(yīng)的組件。話不多說(shuō),直接上效果圖:
效果圖

需要適配所有尺寸的大型顯示屏,并且在手機(jī)上,可以縮放查看效果。我這里添加了這樣一段代碼,通過(guò)縮放body的大小,進(jìn)行等比例放大縮小,達(dá)到不變形,整體適配的效果。
<script>
//頁(yè)面縮放公共
function resizePage() {
// 獲取window的高度
var clientW = window.innerWidth
var clientH = window.innerHeight
// 初始window與body的比值
var bi = clientW / 1920
// 設(shè)置body的寬高-可根據(jù)實(shí)際情況進(jìn)行調(diào)節(jié)
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>
代碼實(shí)現(xiàn):
封裝一個(gè)適配的大的組件,可以設(shè)大屏的背景圖和整體效果。其他的基本都是使用的echart的組件庫(kù),因沒(méi)有什么特別的定制的需求圖標(biāo)。所以也沒(méi)有做太多的個(gè)性化操作
<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>
總結(jié):
以上就是自己實(shí)現(xiàn)大屏整體適配的效果和方法,一開(kāi)始想偷懶,直接使用dataview 可以直接使用,但是可能在自己的需求的時(shí)候,難以達(dá)到,或則想的是安裝一套太臃腫的組件庫(kù),難以扶平自己的強(qiáng)迫癥。希望大家有更好的封裝方法,我這只是實(shí)現(xiàn)一點(diǎn)皮毛,希望對(duì)剛?cè)腴T(mén)的同學(xué)有所幫助。
到此這篇關(guān)于Vue大屏數(shù)據(jù)展示示例的文章就介紹到這了,更多相關(guān)Vue大屏數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Electron+vue3項(xiàng)目使用SQLite3數(shù)據(jù)庫(kù)詳細(xì)步驟(超詳細(xì))
Electron是一個(gè)基于vue.js的新框架,它可以構(gòu)建桌面應(yīng)用,這篇文章主要給大家介紹了關(guān)于Electron+vue3項(xiàng)目使用SQLite3數(shù)據(jù)庫(kù)的詳細(xì)步驟,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
Vue?+?SpringBoot?實(shí)現(xiàn)文件的斷點(diǎn)上傳、秒傳存儲(chǔ)到Minio的操作方法
這篇文章主要介紹了Vue?+?SpringBoot?實(shí)現(xiàn)文件的斷點(diǎn)上傳、秒傳存儲(chǔ)到Minio的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-06-06
使用vue進(jìn)行Lodop打印的一些常用方法小結(jié)
這篇文章主要給大家介紹了關(guān)于使用vue進(jìn)行Lodop打印的一些常用方法,需要進(jìn)行打印功能,Lodop就是實(shí)現(xiàn)需求的插件,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
Element-UI日期選擇器(選擇日期范圍)禁用未來(lái)日期實(shí)現(xiàn)代碼
我們?cè)诰W(wǎng)頁(yè)開(kāi)發(fā)時(shí)通常需要用到一些日期組件來(lái)方便用戶(hù)選擇時(shí)間,其中element日期組件是一個(gè)非常好用的工具,這篇文章主要給大家介紹了關(guān)于Element-UI日期選擇器(選擇日期范圍)禁用未來(lái)日期的相關(guān)資料,需要的朋友可以參考下2024-02-02
vue項(xiàng)目中做編輯功能傳遞數(shù)據(jù)時(shí)遇到問(wèn)題的解決方法
這篇文章主要介紹了vue項(xiàng)目中做編輯功能傳遞數(shù)據(jù)時(shí)遇到問(wèn)題的解決方法,vue父組件向子組件傳遞數(shù)據(jù)的問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
詳解如何使用 vue-cli 開(kāi)發(fā)多頁(yè)應(yīng)用
本篇文章主要介紹了詳解如何使用 vue-cli 開(kāi)發(fā)多頁(yè)應(yīng)用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12

