在vue中,有一個$el
屬性。
該屬性在created
的階段還是不可用的,直到 mounted
之后,我們才能獲取到 $el 屬性。
$el是vue實例中 el 屬性標識的dom元素。
————————————————————————————————————
vue表單提交,有時候需要提交 文件數據,這時候需要用到 formDate,代碼如下
1 let formData = new FormData($(this.$el).find(".import-form")[0]); // .import-form 是需要提交的表單 2 let config = { processData : false, contentType : false, disableDefaultAlert: true}; 3 4 App.ajax(batchImport, 'post', formData, config).done(ret=>{ 5 App.showAlert({type:"success", 6 content:"上傳成功!", 7 title:"提示"});
8
9 this.render(); // 數據提交成功之后,重新調用渲染頁面的方法更新頁面數據。 10 }).fail(msg=>{ 11 App.showAlert({type:"error", 12 content:msg, 13 title:"導入失敗!"}); 14 close(); 15 })
還有一種提交方式,沒有文本,只需要提交表單數據的方法。
serialize() 方法可以序列化表單數據。
1 loadData(formEle){ 2 let formData = $(formEle).serialize(); 3 App.showLoading(); 4 App.ajax(ActivityList, 'get', formData).done(ret=>{ 5 this.dataList = ret.data; 6 this.list = ret.data.activityList || []; 7 if(ret.data.activityList==null){ 8 App.showAlert({type:"info", 9 content:"該查詢條件下沒有查詢到數據", 10 title:"提示"}); 11 } 12 this.pagination.total = ret.data.pageCount; 13 }) 14 .always(()=>{ 15 App.hideLoading(); 16 }); 17 },
或者也可以通過$el 屬性獲取表單,進行序列化
let formData = $(this.$el).find('.js-query-form').serialize();