element plus 使用 upload 组件达到上传数量限制时隐藏上传按钮
最近在重构项目,使用了 element plus UI框架,有个功能是实现图片上传,且限制只能上传一张图片,结果,发现,可以限制只上传一张图片,但是上传按钮还在,如图:
解决办法:当上传个数达到限定个数时,通过样式控制上传按钮的隐藏
主要代码:
:class="{ 'hideUploadBtn': fileList.length >= count }"
:deep(.hideUploadBtn .el-upload--picture-card) {
display: none;
}
详细代码如下:
<template><div><el-uploadlist-type="picture-card":show-file-list="true":before-upload="beforeUpload":multiple="count === 1 ? false : true":file-list="fileList":class="{ 'hideUploadBtn': fileList.length >= count }"><el-icon><Plus /></el-icon></el-upload></div>
</template><script setup>
const fileList = ref([]); // 文件列表
const count = ref(1); // 限定只能上传一张const beforeUpload = async (file) => {uploadFunc()return false; // 阻止默认上传
};// 你的上传方法
function uploadFunc() {// 在这里调用后台接口上传
}
</script>
<style lang="scss" scoped>
:deep(.hideUploadBtn .el-upload--picture-card) {display: none;
}
</style>
实现结果如图:
鼠标放到图片上的样子: