比如一個卡列表,要在這個列表中刪除其中一項,刪除后不重新調獲取接口,而是直接前端更新頁面,比如用vue只要改變開始卡列表的model就會自動渲染頁面。
這個卡列表的model自然是一個對象數組[{cardid:001,cardno:"432434234"},{cardid:002,cardno:"546436"},...],cardid是唯一的,每一項都不一樣,刪除的時候就根據這個屬性來刪除。
下面就是根據屬性從對象數組里刪除對應對象的方法:(一次只能刪一個)
removeByValue: function(arr, attr, value) { //數組,屬性,屬性值 var index=0; for(var i in arr){ if(arr[i][attr]==value){ index=i; break; } } arr.splice(index,1); }
使用這個方法的時候,只要在調用刪除接口的success回調里這樣寫
Util.removeByValue(that.cards,"cardid",cardId); //卡列表數組,屬性,被刪卡的屬性值