vue使用Element-UI部分组件适配移动端问题

 更新时间:2023年03月17日 16:56:38   作者:清新小伙子  
这篇文章主要介绍了vue使用Element-UI部分组件适配移动端问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

前言

使用组件库现成的组件是一件非常爽的事,基本不用自己敲代码,不用自己思考来思考去样式,就能得到一个比较满意的效果。

但与此同时也会带来一些不便,那就是部分组件在移动端显得不太友好,还有就是有些样式达不到自己的预期,这时修改起来就比较麻烦了。

vue使用Element-UI部分组件适配移动端

组件适配1—Message 消息提示

//消息提示
this.$message({
   message:'雨伞下架成功',
   duration:1500,
   type:'success'
 })

Message 消息提示在PC端显示是非常好的:

但移动端效果就有点勉强了,宽度太长了:

适配样式代码

@media screen and (max-width: 500px) {
    .el-message {
      min-width: 300px !important;
    }
}

适配后移动端的效果是比之前好很多的:

组件适配2—MessageBox 弹框

/*退出登录*/
loginOut(){
   this.$confirm('确定退出登录吗?', '提示', {
     confirmButtonText: '确定',
     cancelButtonText: '取消',
     type: 'warning'
   }).then(() => {
     this.$router.replace({name:'login'})
   })
 }

MessageBox 弹框在PC端显示是非常好的:

但移动端效果就有点勉强了,还是宽度太长了:

适配样式代码

@media screen and (max-width: 500px) {
    .el-message-box{
      width: 300px !important;
    }
  }

适配后移动端的效果是比之前好很多的:

组件适配3—Dialog 对话框

Dialog 对话框可通过自己设置top,width等控制样式,算是比较方便更改样式的一个组件了。

但为了同时适配手机和pc,还需要我们进行一些操作,尽管我将width设置为比较小的400以及对表单内的组件样式进行了一定的修改,但还是无法比较好的适配手机。

<el-dialog title="雨伞上架" :visible.sync="isToInsert" top="30vh" width="400px">
  <el-form :inline="true" class="deleteForm">
     <el-form-item label="登记者">
       <el-input v-model="beginWorker" autocomplete="off" placeholder="请输入登记者的名字"></el-input>
     </el-form-item>
     <el-form-item label="放伞地点" style="margin-top: 15px;">
       <el-select v-model="stationId1" placeholder="请选择放伞地点">
         <el-option label="B区正门" value="B区正门"></el-option>
         <el-option label="二楼" value="二楼"></el-option>
         <el-option label="B5栋门口" value="B5栋门口"></el-option>
         <el-option label="图书馆二楼" value="图书馆二楼"></el-option>
       </el-select>
       <p class="errorTip" v-show="beginWorkerError">{{beginWorkerError}}</p>
     </el-form-item>
   </el-form>
   <div slot="footer" class="dialog-footer">
     <el-button size="small" @click="isToInsert = false">取 消</el-button>
     <el-button size="small" type="primary" @click="ToInsert">确 定</el-button>
   </div>
 </el-dialog>

为了更好的兼容pc端而设置了部分样式:

.el-dialog__wrapper{
    .el-dialog__body{
      padding: 20px 20px 10px;
      .deleteForm{
        .errorTip{
          color: red;
          font-size: 14px;
          line-height: 20px;
          margin: 5px auto;
        }
        .el-form-item{
          margin: 0;
          .el-form-item__label{
            width: 90px;
          }
          .el-select,.el-input{
            width: 250px;
          }
        }
      }
    }
    .el-dialog__footer{
      padding-bottom: 15px;
      padding-top: 5px;
    }
}

在PC端显示的效果我感觉还是挺好的:

但移动端效果就还是有点勉强了:

适配样式代码

@media screen and (max-width: 500px) {
   .el-dialog__wrapper .el-dialog {
      width: 300px !important;
      .el-dialog__body{
        padding: 10px 20px!important;
        .el-form-item__label{
          width: 68px!important;
        }
        .el-select,.el-input{
          width: 180px!important;
        }
      }
    }
}

适配后移动端的效果是比之前好很多的:

结语

其他组件的适配基本都是这样,你只需要打开控制台找到控制样式的类然后进行修改即可。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue3无法显示element-plus问题及解决

    vue3无法显示element-plus问题及解决

    这篇文章主要介绍了vue3无法显示element-plus问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Vue封装localStorage设置过期时间的示例详解

    Vue封装localStorage设置过期时间的示例详解

    这篇文章主要介绍了Vue封装localStorage设置过期时间的相关资料,在这个示例中,我们在MyComponent.vue组件的setup函数中导入了setItemWithExpiry和getItemWithExpiry函数,并在函数内部使用它们来设置和获取带有过期时间的localStorage数据,需要的朋友可以参考下
    2024-06-06
  • vue连接本地服务器的实现示例

    vue连接本地服务器的实现示例

    本文主要介绍了vue连接本地服务器的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • 从零开始用webpack构建一个vue3.0项目工程的实现

    从零开始用webpack构建一个vue3.0项目工程的实现

    这篇文章主要介绍了从零开始用webpack构建一个vue3.0项目工程的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Vue 2 和 Vue 3 中 toRefs函数的不用用法

    Vue 2 和 Vue 3 中 toRefs函数的不用用法

    Vue 是一款流行的JavaScript 框架,用于构建用户界面,在Vue2和 Vue3中,都存在一个名为toRefs的函数,但其行为在这两个版本中有所不同,这篇文章主要介绍了Vue2和Vue3中toRefs的区别,需要的朋友可以参考下
    2023-08-08
  • 基于Vue 和 iView分片上传功能实现(上传组件)

    基于Vue 和 iView分片上传功能实现(上传组件)

    本文介绍了基于Vue和iView的文件分片上传技术,通过将文件拆分成多个小块并逐块上传,解决了大文件上传时的诸多问题,如上传速度慢、超时和网络中断等,它还展示了如何实现分片上传的进度显示、错误处理和断点续传等功能,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • Vue中两种生成二维码(带logo)并下载方式总结

    Vue中两种生成二维码(带logo)并下载方式总结

    与后端生成二维码相比,前端生成二维码更具有灵活性,下面这篇文章主要给大家介绍了关于Vue中两种生成二维码(带logo)并下载的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • vue添加axios,并且指定baseurl的方法

    vue添加axios,并且指定baseurl的方法

    今天小编就为大家分享一篇vue添加axios,并且指定baseurl的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • Vue-router 类似Vuex实现组件化开发的示例

    Vue-router 类似Vuex实现组件化开发的示例

    本篇文章主要介绍了Vue-router 类似Vuex实现组件化开发的示例,具有一定的参考价值,有兴趣的可以了解一下
    2017-09-09
  • 如何理解Vue的render函数的具体用法

    如何理解Vue的render函数的具体用法

    本篇文章主要介绍了如何理解Vue的render函数的具体用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08

最新评论