vue分离框架弹框页面适配手机端和PC端

前端 创建于:06-14 00:49

方法一:利用js解决

获取屏幕宽度,将方法封装成公用方法引入

import { ref, onMounted, onUnmounted } from "vue";

export default function UseWindowSize() {
  const windowWidth = ref(window.innerWidth);
  const dialogWidth = ref("100%");

  const updateSize = () => {
    windowWidth.value = window.innerWidth;
  };

  const checkWidth = () => {
    if(windowWidth.value < 768) {
      dialogWidth.value = "100%";
    } else {
      dialogWidth.value = "50%";
    }
  }

  onMounted(() => {
    window.addEventListener("resize", updateSize);
    checkWidth();
  });
  onUnmounted(() => window.removeEventListener("resize", updateSize));
  return { dialogWidth };
}

页面引入:

import useWindowSize from './useWindowSize';
const { dialogWidth } = useWindowSize();

在需要写弹框宽度的地方动态设置成dialogWidth属性即可。

弊端是:需要手动刷新页面,才能看出区别。

方法二:通过css解决

例如在vue框架内部,在app.vue页面,或者初始化加载页面加入以下css即可:

<style lang="scss">
.pcbody {
  min-width: 600px;
}
</style>

页面使用方法:

在弹框组件Dialog或者el-drawer 组件中设置

原文地址:https://my.oschina.net/zfblog/blog/18620726

免责声明:本文来源于互联网,版权归合法拥有者所有,如有侵权请公众号联系管理员

* 本站提供的一些文章、资料是供学习研究之用,如用于商业用途,请购买正版。

前端