layui上傳文件choose只觸發一次的解決方法


環境:.net core + layui

場景:上傳文件的時候需要先彈出一個層選擇對應的條件傳到上傳方法里面做邏輯,發現layui.upload上傳一次之后在不刷新頁面的前提下不會執行choose方法了;

問題原理:個人理解是upload.render方法執行一次之后,第二次之后沒有把elem指定的這個元素對象重新生成,而是有選擇性的更新對象的屬性,比如file就應該沒更新,還是上一次的file導致change方法沒觸發;

解決方法:

最簡單的就是把elem指定的這個元素變成動態添加,而不是先在頁面寫死;

示例:

 1 //初始化上傳控件
 2     var InitUpload = function () {
 3         //submitbtngroup 這個是上傳按鈕的父節點   動態添加上傳按鈕   解決上傳一次之后choose方法不執行的bug
 4         $("#submitbtngroup").append('<button class="layui-btn layui-btn-normal" lay-submit lay-filter="chooseFile" id="chooseFile">上傳文件</button>');
 5         //導入數據按鈕事件
 6         var uploadInst = upload.render({ //允許上傳的文件后綴
 7             elem: '#chooseFile'
 8             , url: '/xxxx/xxxx'
 9             , accept: 'file' //普通文件
10             , exts: 'xlsx|xls' //只允許上傳excel文件
11             , done: function (res) {
12 
13                 //每次執行之后都刪除上傳按鈕   在前面重新加
14                 $("#chooseFile").remove();
15             }
16         });
17     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM