1. 程式人生 > 其它 >js 程式碼觸發 upload 檔案上傳

js 程式碼觸發 upload 檔案上傳

  ag-grid 渲染的表格,單元格模板是一個上傳按鈕

  需求是要在點選的時候增加個對話方塊增加些額外條件(並非全部行都加對話方塊)

  於是乎,想了個解決辦法,單元格模板中,增加顯示對話方塊的標記,標記為 true 的,點選按鈕時會彈出對話方塊,否則不變

  為了上傳元件正常使用,不能用 ngIf 隱藏掉上傳元件,想了辦法用遮罩的形式來使對話方塊點選觸發(a 標籤遮蓋在真正上傳按鈕上方)

  對話方塊提交後需要手動觸發 input 的點選,模擬使用者點選事件:

  本來想的是直接用 angular 本身的方式觸發 click

  結果介面毫無反應,斷點檢視,發現拋了黃色歎號:

  查了一下,發現 upload 不支援非使用者點選的動作。再次查詢解決方法,最終改成了 jquery 觸發:

  而 input 在介面中會存在多個 #inputEle,在父元素上 ngClass 一個標記,來方便尋找正確的 input 。