• ElementUI图片上传 缩略图 picture-card 数量限制


     问题描述:

            在图片上传列表中,需要对图片上传的个数进行限制,在增加图片到最大数量限制时,就将上传框隐藏掉;在删除后,就再次显示出来;如果仅仅用 limit 是 可以实现功能的,但是会在后面发现下图最后面的框,还能选取文件,只是上传不了;

     

    一、通过 limit 进行长度限制,设置 动态class  来进行显示和隐藏;

    关键代码:     :limit="limitCount"     :class="{hide:hideUpload}"

    1. <el-upload
    2. action="#"
    3. accept=".jpg, .jpeg, .png"
    4. list-type="picture-card"
    5. :auto-upload="false"
    6. :on-change="handleChange"
    7. :file-list="fileList"
    8. :limit="limitCount"
    9. :on-exceed="fileMaxNum"
    10. :class="{hide:hideUpload}"
    11. >
    12. <i slot="default" class="el-icon-plus">i>
    13. <div slot="file" slot-scope="{file}">
    14. <img
    15. class="el-upload-list__item-thumbnail"
    16. :src="file.url" alt=""
    17. >
    18. <span class="el-upload-list__item-actions">
    19. <span
    20. class="el-upload-list__item-preview"
    21. @click="handlePictureCardPreview(file)"
    22. >
    23. <i class="el-icon-zoom-in">i>
    24. span>
    25. <span
    26. v-if="!disabled"
    27. class="el-upload-list__item-delete"
    28. @click="handleDownload(file)"
    29. >
    30. <i class="el-icon-download">i>
    31. span>
    32. <span
    33. v-if="!disabled"
    34. class="el-upload-list__item-delete"
    35. @click="handleRemove(file)"
    36. >
    37. <i class="el-icon-delete">i>
    38. span>
    39. span>
    40. div>
    41. el-upload>
    42. <el-dialog :visible.sync="dialogVisible">
    43. <img width="100%" :src="dialogImageUrl" alt="">
    44. el-dialog>

    二、在文件上传文件移除时,根据已经上传的列表的长度(length),对上传框进行显隐;

    关键代码:this.hideUpload = this.fileList.length >= this.limitCount;

    三、通过样式来控制

    这里有写 scoped,需要进行样式穿透 /deep/

     ——End

  • 相关阅读:
    Redis主从结构数据同步分析
    mjpg-streamer 使用入门
    “大厂”角力移动办公系统市场,钉钉和企微向左、WorkPlus向右
    网络基础选择题
    PEG聚乙二醇功能上转换荧光纳米颗粒
    Python数据结构基础教学,从零基础小白到实战大佬!
    ER图到关系模型的转换和练习SQL语言
    Python(一)
    网工内推 | 运营商技术支持,数通基础扎实,最高17k
    【C指针终极奥义】回调函数思想——函数指针做函数参数
  • 原文地址:https://blog.csdn.net/Sunshine_Jian/article/details/127753679