就是这样的一个功能,点击加号,出现图片选择,然后选择好以后生成预览。
input那么丑,UI看不惯,一定要改成加号 我就用了fa的图标,外部套一个bootstrap4中的class:border,设置一下内边距,看起来差不多居中了,好了 input最简单的方式隐藏
然后,华丽丽的bug就出现了,看到我添加的this.value了吧,因为上传一张,是好的,上传第二张,预览出现两张第二张,上传第三张,预览就出现三张第三张…..添加了this.value以后就好了,但是F12看后台会报错,Uncaught TypeError: Failed to execute ‘createObjectURL‘ on ‘URL‘…….. 查呢也没查出什么解决方法 一直就在纠结createObjectURL这个方法,甚至去官网看例子 其实报错的根源就是我瞎添加的this.value 那就删了,重新寻找图片重复显示的问题所在吧 最后突然意识到,是change方法引起的 change方法的问题,那就回到input隐藏以后的调用上 然后就被我真的找到了,用《label》,简直完美 在最难的IE10上都测试通过了 完整的代码:

