国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue+element ui完成頭像上傳功能(文件轉(zhuǎn)base64)以及自定義布局。

這篇具有很好參考價值的文章主要介紹了vue+element ui完成頭像上傳功能(文件轉(zhuǎn)base64)以及自定義布局。。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、自定義布局

? ? ? 查閱element ui的頭像上傳功能,發(fā)現(xiàn)是點擊頭像位置才可以上傳,那我們可不可以點擊頭像外部的按鈕來上傳頭像呢?

element ui效果圖:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?目標(biāo)效果

elementui上傳頭像,elementui,javascript,css,vue.js,前端?????????????????????????elementui上傳頭像,elementui,javascript,css,vue.js,前端

?在實現(xiàn)之前要明白element ui里面代碼的含義:

//el-upload是用來控制圖片上傳,里面有相關(guān)屬性。
<el-upload
  class="avatar-uploader"
  action="https://jsonplaceholder.typicode.com/posts/"
  :show-file-list="false"
  :on-success="handleAvatarSuccess"
  :before-upload="beforeAvatarUpload">
  //img的是存放上傳圖片位置的地方
  <img v-if="imageUrl" :src="imageUrl" class="avatar">
  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>

?當(dāng)我們明白每個標(biāo)簽的含義之后,我們就可以通過調(diào)整img標(biāo)簽的位置來達到自己的目標(biāo)效果。

下圖為目標(biāo)效果圖的代碼:html+css布局

<div class="touxiang">
//把存放頭像單獨拿出來,放到一個div中,通過css布局來調(diào)整位置
  <div class="pic">
    <img v-if="imageUrl" :src="imageUrl?''+imageUrl:'@/assets/avatar.gif'" class="avatar" />
    <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  </div>
  <el-upload 
    class="avatar-uploader"
    list-type="picture" 
    ref="upload"
    accept=".jpg, .png" 
    :limit="1" 
    :auto-upload="false"
    :show-file-list="false"
    :file-list="fileList" 
    :on-change="getFile">

    //點擊上傳的按鈕一定要在el-upload內(nèi)部才可以實現(xiàn)
     <el-button size="small" type="primary">點擊上傳</el-button>
     <div slot="tip" class="el-upload__tip">只能上傳jpg/png文件,且不超過2MB</div>
  </el-upload>
</div>
.touxiang {
  margin: 30px auto 30px 150px;
  display: flex;
  .avatar-uploader {
    ::v-deep .el-upload {
      margin-top: 5px;
      height: 45px;
      display: flex;
      flex-direction: column;
      align-content: space-between;
    }
    ::v-deep .el-button {
      width: 90px;
      height: 35px;
      font-size: 15px;
    }
  }
  .pic {
    margin-right: 20px;
    border-radius: 50%;
    border: 1px dashed gray;
    .avatar-uploader-icon {
       font-size: 28px;
       color: #8c939d;
       width: 80px;
       height: 80px;
       line-height: 80px;
       text-align: center;
    }
    .avatar {
       border-radius: 50%;
       width: 80px;
       height: 80px;
       display: block;
    }
  }
}

2、文件轉(zhuǎn)base64(html代碼見上圖)

2.1先定義好需要用到的變量

data() {
    return {
      // 上傳頭像地址
      imageUrl: '',
      //接收上傳的文件
      fileList:[],
    };
  },

2.2通過on-change來監(jiān)控傳入文件的狀態(tài),當(dāng)上傳的文件大小(beforeAvatarUpload函數(shù))以及格式(html代碼里面的accept屬性)達到了我們的目標(biāo)要求后就可以將文件進行轉(zhuǎn)換,之后在傳給后端。

// 頭像上傳
    getFile(file, fileList) {
      if(this.beforeAvatarUpload(file)){
        this.getBase64(file.raw).then(res => {
          this.imageUrl = res;
          //ruleForm是我接收后端傳過來的數(shù)據(jù),此處可以忽略
          this.ruleForm.imagePath=res
        })
      }
    },

//這里是文件轉(zhuǎn)base64
    getBase64(file) {
      return new Promise(function (resolve, reject) {
        const reader = new FileReader()
        let imgResult = ''
        reader.readAsDataURL(file)
        reader.onload = function () {
          imgResult = reader.result
        }
        reader.onerror = function (error) {
          reject(error)
        }
        reader.onloadend = function () {
          resolve(imgResult)
        }
      })
    },
    beforeAvatarUpload(file) {
      const isLt2M = file.size / 1024 / 1024 < 2;
      if (!isLt2M) {
        this.$message.error('上傳頭像圖片大小不能超過 2MB!');
      }
      return isLt2M;
    },

到這里文章就結(jié)束啦,希望可以對您有所幫助!文章來源地址http://www.zghlxwxcb.cn/news/detail-802554.html

到了這里,關(guān)于vue+element ui完成頭像上傳功能(文件轉(zhuǎn)base64)以及自定義布局。的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • element ui實現(xiàn)el-upload用戶頭像上傳(單圖上傳)

    element ui實現(xiàn)el-upload用戶頭像上傳(單圖上傳)

    ?這是我們要實現(xiàn)的效果 element ui上的代碼和效果如下: ?接下來我們需要將圖片文件上傳到接口中,實現(xiàn)代碼如下:

    2024年02月12日
    瀏覽(29)
  • vue2 - 基于Element UI實現(xiàn)上傳Excel表單數(shù)據(jù)功能

    vue2 - 基于Element UI實現(xiàn)上傳Excel表單數(shù)據(jù)功能

    批量數(shù)據(jù)上傳后臺,需要從后臺下載一個固定格式的 Excel表格,然后在表格里面添加數(shù)據(jù),將數(shù)據(jù)格式化,再上傳給后臺,后臺做解析處理,往數(shù)據(jù)庫添加數(shù)據(jù) 點擊導(dǎo)入excel按鈕,跳轉(zhuǎn)到上傳excel功能頁面,點擊上傳或者是通過拖拽都能實現(xiàn)excel表格上傳 通過Element UI的 el-di

    2024年02月13日
    瀏覽(37)
  • element ui的upload 手動上傳頭像(復(fù)制就能用)

    element ui的upload 手動上傳頭像(復(fù)制就能用)

    ? 之前在網(wǎng)上看了好多,結(jié)果給的代碼都不全,整了快一天,才整好,心態(tài)都崩了,想砸電腦 這里貼出來愿后來人省力? 下面的代碼除了最下面的axios請求需要和自己的匹配之外。其他的可以直接復(fù)制使用了 ? 服務(wù)器接口處理函數(shù) 這里只是處理函數(shù),其余的部分沒有貼,因為

    2024年02月16日
    瀏覽(23)
  • vue2+element ui 上傳文件

    完全基于elementui組件封裝的上傳組件 ,后期繼續(xù)優(yōu)化 父組件使用 1、引入組件

    2024年02月04日
    瀏覽(29)
  • Vue系列:Vue Element UI中,使用按鈕實現(xiàn)視頻的播放、停止、停止后繼續(xù)播放、播放完成后重新播放功能

    最近在工作中有個政務(wù)大屏用到了視頻播放; 技術(shù)棧是Vue2、Element UI; 要實現(xiàn)的功能是:使用按鈕實現(xiàn)視頻的播放、停止、停止后繼續(xù)播放、播放完成后重新播放功能 具體可以按照以下步驟進行操作: 引入插件: 在Vue組件中引入Element UI的按鈕組件: import { Button } from \\\'ele

    2024年02月04日
    瀏覽(27)
  • 基于vue+Element UI的文件上傳(可拖拽上傳)

    基于vue+Element UI的文件上傳(可拖拽上傳)

    drag: 支持拖拽上傳 action:必選參數(shù),上傳的地址 ref:這里主要是用于文件上傳完成后清除文件的 on-remove:文件列表移除文件時的鉤子 auto-upload:是否在選取文件后立即進行上傳 on-change:文件狀態(tài)改變時的鉤子,添加文件、上傳成功和上傳失敗時都會被調(diào)用 注:這里使用的

    2023年04月08日
    瀏覽(30)
  • vue+element ui 文件上傳之文件縮略圖縮略圖

    vue+element ui 文件上傳之文件縮略圖縮略圖

    文件縮略圖按官方文檔說的是使用? scoped-slot ?去設(shè)置縮略圖模版。且需要上傳的是圖片,因為有預(yù)覽等功能,如果上傳的不是圖片,會顯示不出來。 這里設(shè)置了圖片的格式等,用戶在選擇的時候,會自動校準(zhǔn)圖片格式,官方文檔中提供了before-upload方法,可以防止用戶在選擇

    2024年02月11日
    瀏覽(135)
  • 基于vue element-ui 封裝上傳圖片組件 功能:上傳,刪除,預(yù)覽,上傳圖片水印,拖拽排序,上傳進度條等

    基于vue element-ui 封裝上傳圖片組件 功能:上傳,刪除,預(yù)覽,上傳圖片水印,拖拽排序,上傳進度條等

    我們在開發(fā)后臺時肯定避免不了上傳圖片的功能 例如: 上傳圖片回顯 上傳完成 : 預(yù)覽查看 , 刪除等 如果是圖片列表,還可能讓你拖動圖片排序 有的后臺項目可能要給圖片添加水印,添加標(biāo)記 有的后臺可能要炫酷一點 添加進度條功能 現(xiàn)在我們要完成上面的一系列功能,這里我

    2024年02月16日
    瀏覽(28)
  • vue+element ui 關(guān)于表格中多行增加上傳文件操作

    先創(chuàng)建一個表格標(biāo)簽,表格中需要先寫上上傳文件的組件 在data中定義一個表格數(shù)組,數(shù)組中的fileIdList是我需要存儲的信息,可自行參考 表格多行上傳的難點在于,需要把上傳的文件和表格中的行一一對應(yīng),所以在handleSuccess和handleRemove方法中多傳入了一個scope,scope參數(shù)是自

    2024年02月14日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包