layui二次上传同一文件 upload组件无反应

本文详细探讨了layui框架中文件上传组件的使用,特别是`upload.render`方法。通过分析代码,解释了为何需要在每次选择文件后清空`elem`指定元素的值,以确保多次上传的有效性。内容主要涉及上传配置、文件类型限制、大小限制以及选择文件后的回调处理。通过对关键代码段的解读,帮助开发者理解如何在layui中实现可控的文件上传功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值