element-ui 实现单张上传

这篇博客介绍了如何在Vue项目中使用Element-UI组件库实现单张图片的上传功能,包括设置上传地址、自定义样式、预览、移除图片、限制上传数量等操作,并展示了相关的HTML、JavaScript和CSS代码片段。

element-ui 实现单张上传

之前写了ant-design of vue自定义上传,今天element-ui的也安排上

html:

<el-form-item label="图片上传" prop="imgUrl">
	<el-upload
     :action="picUrl"
     :headers="headers" 
     :on-preview="handlePictureCardPreview"
     :file-list="imgList"
     :on-success="uploadPictureSuccess"
     :show-file-list="true"
     :on-remove="handleRemove"
     :on-change="uploadPictureChange"
     list-type="picture-card"
     :class="{ hide: hideUpload }"
     :limit="1"
     >
       <i class="el-icon-plus"></i>
    </el-upload>
    <el-dialog :visible.sync="dialogVisible" append-to-body>
       <img width="100%" :src="dialogImageUrl" alt="">
    </el-dialog>
 </el-form-item>

javascript:

import { mapGetters } from 'vuex'
export default {
  name: "uploadImg",
  computed: {
    ...mapGetters(['token']),
    headers() {
        return {
            "Authorization": this.token
        }
    },
  },
  data() {
    return {
      // 图片上传
      hideUpload:false,
      limitCount:1,
      dialogImageUrl: '',
      dialogVisible: false,
      imgList:[],
      picUrl: '....',
   }
 },
 methods:{
 	// 图片上传
    
    handlePictureCardPreview(file) {
      console.log(file,file.url)
      this.dialogImageUrl = file.url;
      this.dialogVisible = true;
    },
    uploadPictureChange(file,fileList){
      this.hideUpload = fileList.length >= this.limitCount;
    },
    uploadPictureSuccess(res,file){
      var _this = this
            if (file.status == "success") {
              _this.$message({
                message:'上传成功',
                type:'success'
              })
            }
            //  _this.form.url = res.msg
          
    },
    handleRemove(file, fileList) {
      this.hideUpload = fileList.length >= this.limitCount;
      //this.form.url = ''
      console.log(file, fileList);
    },
 }
}

css

<style lang="scss" scoped>
::v-deep .hide .el-upload--picture-card{
  display: none;
}
</style>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值