2015-09-15 50 views
2

我正在使用角度UI網格來導入文件。
我使用:如何警惕角ui網格導入文件失敗?

enableGridMenu: true, 
importerDataAddCallback: function (grid, newObjects) { 

當我輸入一個文件,是不是一個CSV我得到的錯誤:

uncaught exception: UNEXPECTED_END_OF_RECORD at char...

我想有一個警告框彈出,如果沒有按進口工作不正常。
我找到uiGridImporterService其中有方法alertError(grid,headerRow)
我不確定這是否是我需要的。

那麼,如果失敗時如何添加警報?
作爲一個側面問題,我可以檢查它是否導入.csv文件?

+0

您可以用'$ q'創建能夠返回一個'err'一個承諾? –

+0

可能。 ui-grid-importer是建立在ui-grid的功能上的,所以我真的不知道我會在哪裏嘗試放置$ q。可以訪問importerDataAddCallback函數,但只有在確定文件良好後纔可以訪問。在此之前,我不知道在哪裏訪問導入過程。 –

回答

1

這裏是代碼上失敗的CSV導入警報:

CSV.error = function (err){ 
    var msg = CSV.dump(err); 
    CSV.reset(); 
    //alert("CSV import failed."); 
    toastr["error"]("Import failed."); 
    throw msg; 
}; 
0

使用$ Q

通過使用$ Q就可以返回,可以失敗或通過一個承諾。在失敗的情況下,你可以調用一個警報彈出。

AngularJS documentation

return $q(function(resolve, reject) { 
    setTimeout(function() { 
    if (okToGreet(name)) { 
     resolve('Hello, ' + name + '!'); 
    } else { 
     reject('Greeting ' + name + ' is not allowed.'); 
    } 
    }, 1000); 
}); 

在zhcon失敗承諾採取回到你可以有你的警報彈出來告訴操作失敗的用戶。