美文网首页
vue使用Element-UI部分组件适配移动端

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

作者: 泪滴在琴上 | 来源:发表于2023-03-02 08:12 被阅读0次

    前言
    使用组件库现成的组件是一件非常爽的事,基本不用自己敲代码,不用自己思考来思考去样式,就能得到一个比较满意的效果。但与此同时也会带来一些不便,那就是部分组件在移动端显得不太友好,还有就是有些样式达不到自己的预期,这时修改起来就比较麻烦了。

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

    组件适配1—Message 消息提示

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

    适配样式代码

    @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'})
       })
     }
    

    适配样式代码

    @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端显示的效果我感觉还是挺好的:


    20200814232120454.png

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


    20200814232149487.png

    适配样式代码

    @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;
            }
          }
        }
    }
    
    image.png

    结语
    其他组件的适配基本都是这样,你只需要打开控制台找到控制样式的类然后进行修改即可。
    ————————————————
    版权声明:本文为CSDN博主「清新小伙子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/m0_46627730/article/details/108015137
    ————————————————
    版权声明:本文为CSDN博主「清新小伙子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/m0_46627730/article/details/108015137
    ————————————————

    版权声明:本文为CSDN博主「清新小伙子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/m0_46627730/article/details/108015137

    相关文章

      网友评论

          本文标题:vue使用Element-UI部分组件适配移动端

          本文链接:https://www.haomeiwen.com/subject/dvkdldtx.html