Vue2场景可能是我写的小偷的基础upload组件。 然后,它在showList中返回了已上载到服务器的各种文件信息的数组列表。 如果上传了图像,则显示图像。 如果不是图像格式,则显示默认图像
模板
template div v-for='(item, I )更新in show list ' : key=' I ' class=' item ' img : src=' item.URL ' alt=' class=' img ' v-if=' isimg '
通过返回computed:(isimg ) (returnfunction ) item ) )闭包returnthis.checkfiletype(item )/item.url ) },检查文件} else { return true; } } Vue3场景也上传文件。 上传文件后,向他添加用于根据文件后缀实现任何类型文件的图标。 另外,通过v-for循环传递每个item的属性并根据类型返回不同的类名,可以部署element的不同icon图标
ul class=' file-container ' ref=' list container ' liv-for=' item inlist.key ' : key=' item.time item.name ' e )/I/divspan@click='tonext ) item ) ) {item}=(=(name ) ) if(/(.) jpg $ gif $ png $ doc ) ({返回' El-icon-document ); (if(/).)视频$/.test ) name ) ) { return 'el-icon-video-camera '; (if(/).) MP4|MP4 ) $/. test (name ) ) { return 'el-icon-video-play; (if(/).) txt|txt ) $/. test (name ) ) { return 'el-icon-notebook-2; }if(/() (rar|rar ) $/. test (name ) ) { return 'el-icon-files '; }返回' none-display '; );