uploadListIns = upload.render({
elem: '#dangerousSign',
accept: 'file',
data: {} ,
multiple: false,
exts:'|xlsx|xlsm|xlsb|xls|xltx|xltm|xlt',
auto: false,
size:10 * 1024,
choose: function (obj) {
// 清空历史上传文件,解决choose只执行一次的问题!!!
uploadListIns.config.elem.next()[0].value = '';
loadIndex = layer.load(1);
var that = this;
var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
},
})
//最重要的
uploadListIns.config.elem.next()[0].value = '';
原因:upload.render方法执行一次之后,第二次之后没有把elem指定的这个元素对象重新生成,而是有选择性的更新对象的属性,比如file就应该没更新,还是上一次的file导致change方法没触发继而没有触发这个choose;
本文详细探讨了layui框架中文件上传组件的使用,特别是`upload.render`方法。通过分析代码,解释了为何需要在每次选择文件后清空`elem`指定元素的值,以确保多次上传的有效性。内容主要涉及上传配置、文件类型限制、大小限制以及选择文件后的回调处理。通过对关键代码段的解读,帮助开发者理解如何在layui中实现可控的文件上传功能。
1071

被折叠的 条评论
为什么被折叠?



