antd版本 v4.17.0
1.自定义了onpreview和onchange事件,上传文件后,文件显示有preview的icon但是被禁用,无法调用onpreview事件。
问题展现:
苦苦查找原因,问题出在了这里,当文件没有url的时候,按钮被禁用掉了,官方文档没有说明。
2.给图片和pdf文件自定义了icon,但是pdf的icon正常展示,图片一直显示缩略图
问题展现:
这是自定义的iconRender函数 函数正常
iconRenderU = (file) => {
const { type = '', status = '', url = '' } = file;
if (status === 'done') {
if ((type.indexOf('pdf') > -1 || url?.includes('.pdf')) && status === 'done') {
return <img src={upload_Pdf} style={{ height: '58%', display: 'inherit' }} />
} else if (type.indexOf('image/') > -1) {
return <img src={upload_img} style={{ height: '58%', display: 'inherit' }} />
}
} else {
return <div style={{ textAlign: 'center' }}>
<LoadingOutlined style={{ color: '#BA051B' }} />
</div>
}
}
定位问题,问题出在了listType这个属性上,配置了‘picture-card’后 iconRender函数对于图片类型的失效。
解决办法,把listType属性去掉,取默认值text
但是!!这样的话要给upload写样式。。更麻烦,于是找产品解决,不用icon,就用缩略图!