Added _removeTabs implementation in common.

This commit is contained in:
Nedyalko Nikolov
2016-01-15 11:45:12 +02:00
parent 938922c24f
commit 30d5ebae12
3 changed files with 20 additions and 4 deletions

View File

@ -150,7 +150,21 @@ export class TabView extends view.View implements definition.TabView, view.AddAr
}
public _removeTabs(oldItems: Array<definition.TabViewItem>) {
//
var i: number;
var length = oldItems.length;
var oldItem: definition.TabViewItem;
for (i = 0; i < length; i++) {
oldItem = oldItems[i];
if (!oldItem) {
throw new Error("TabViewItem at index " + i + " is undefined.");
}
if (!oldItem.view) {
throw new Error("TabViewItem at index " + i + " does not have a view.");
}
this._removeView(oldItem.view);
}
}
public _addTabs(newItems: Array<definition.TabViewItem>) {

View File

@ -225,7 +225,10 @@ export class TabView extends common.TabView {
if (data.oldValue) {
var oldItems: Array<TabViewItem> = data.oldValue;
oldItems.forEach((oldItem) => { oldItem._parent = null; });
oldItems.forEach((oldItem) => {
// _removeView is called within destroyItem method
oldItem._parent = null;
});
this._viewPager.setAdapter(null);
this._pagerAdapter = null;

View File

@ -173,7 +173,6 @@ export class TabView extends common.TabView {
oldItem = <TabViewItem>oldItems[i];
oldItem._parent = null;
oldItem._controller = null;
this._removeView(oldItem.view);
}
this._ios.viewControllers = null;