el-upload上传组件,达到上传数量限制时隐藏上传框?

文章讲述了在前端开发中,使用Vue.js框架实现上传图片功能时,如何在达到限制后隐藏上传框,同时保留查看和删除图标的详细步骤。通过动态绑定class和监听on-remove、on-success事件来控制显示状态。

先上图:

        测试今天给提了一个建议,想让上传图片达到限制之后就不展示后面的上传框,看了眼官网的例子:

        发给他之后让他选一个我照做,可是需求那边又想要既展示查看删除图标(也就是下面的),又想要不展示上传框(也就是上面的),好吧,直接手动改造一下下面照片墙的情况:

看代码:

<!-- 给上传组件绑定一个动态class,用来隐藏上传框 -->

<el-upload
  ref="elUploadTag"
  :action="TagAction"
  :headers="myHeaders"
  :limit="1"
  list-type="picture-card"
  :multiple="false"
  :on-preview="handlePreviewTag"
  :on-remove="doAfterRemovedTag"
  :before-upload="doBeforeUploadTag"
  :on-exceed="onExceedTag"
  :on-success="doAfterUploadTag"
  :file-list="fileListTag"
  :class="li
ElementUI中el-upload组件的使用方法如下: 若要支持同上传多个图片,可利用el-upload组件的多选文件功能,配置`multiple`参数为`true`。不过该组件默认会将多选的文件分多次上传,会产生多次上传请求。若后台接口要求一次请求上传多个文件,可按如下方法操作:通过配置`file-list`、`auto-upload`设置为`false`,关闭组件的自动上传功能;`file-list`配置一个数组用于接收上传的文件列表;`multiple`设置为`true`表示支持多选文件;`accept`配置上传文件的类型;`limit`配置最大允许上传个数;最后通过点击按钮手动调用上传函数`submitUpload`,创建一个`FormData`把`fileList`的文件存进去 [^1]。 实现上传限制数量且超出不显示上传按钮的方法,文档中虽未直接提及,但可通过逻辑实现。在模板中使用`v-if`或者`v-show`指令根据已上传文件数量限制数量的比较结果来控制上传按钮的显示与隐藏。示例代码如下: ```vue <template> <div> <el-upload ref="uploadRef" :action="uploadUrl" :multiple="true" :limit="maxUploadCount" :file-list="fileList" :auto-upload="false" :on-change="handleChange" accept="image/*" > <el-button v-if="fileList.length < maxUploadCount" size="small" type="primary">点击上传</el-button> </el-upload> <el-button @click="submitUpload" size="small" type="success">提交上传</el-button> </div> </template> <script> export default { data() { return { uploadUrl: 'your_upload_api_url', maxUploadCount: 3, fileList: [] }; }, methods: { handleChange(file, fileList) { this.fileList = fileList; }, submitUpload() { const formData = new FormData(); this.fileList.forEach(file => { formData.append('files', file.raw); }); // 这里调用上传接口 console.log('上传数据:', formData); } } }; </script> ``` 在上述代码中,通过`v-if="fileList.length < maxUploadCount"`判断是否显示上传按钮,当上传文件数量达到限制上传按钮将不再显示。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超级无敌小小小白

感谢老板的打赏~^v^~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值