VUE使用DataV适应小屏或者方屏等各种类型的屏幕

博客分享了DataV在小屏设备上自适应效果不佳的问题,并提出了一种解决方案。通过修改`initConfig`方法,设定固定宽度并根据屏幕比例调整高度,以实现更好的全屏显示。在`setAppScale`方法调用时,能根据实际屏幕大小计算transform值,从而达到小屏兼容。这种方法中,1920像素被用作参考宽度,但可根据需求自定义。
摘要由CSDN通过智能技术生成

DataV是阿里的可视化大屏插件,但是使用过程中发现,在小屏下的自适应效果差。这里提供一种解决方案,找到node_modules\@jiaminghi\data-view\lib\components\fullScreenContainer\src\main.vue,修改initConfig里面的方法

原来:

initConfig () {
      const { dom } = this
      const { width, height } = screen

      this.allWidth = width

      dom.style.width = `${width}px`
      dom.style.height = `${height}px`
    }

修改成:

initConfig () {
      const { dom } = this
      const { width, height } = screen
    
      var fixWidth = 1920;
      var fixHeight = fixWidth * height / width;

      this.allWidth = fixWidth

      dom.style.width = `${fixWidth}px`
      dom.style.height = `${fixHeight}px`
    }

其中1920可以自己随便定义,最终还是通过计算固定用来计算的宽高,这样在全屏的时候调用setAppScale()方法时就会根据实际屏幕大小计算transform的值。达到小屏也兼容的效果

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贵宾哥Cyril

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值