Can I use the tabs component for filtering a list, and not navigation?

Having some trouble with this. I want to use a tabs component to filter a list when clicked. However, when I add the component to my page I get an error. It makes me think that the tabs can only be used for navigation.

<ion-header>
    <ion-navbar>
        <button menuToggle>
            <ion-icon name="menu"></ion-icon>
        </button>
        <ion-title>Inbox</ion-title>
    </ion-navbar>
</ion-header>

<ion-content padding class="page-inbox">

    <ion-tabs>
        <ion-tab (ionSelect)="showMessages(messageTypes.inbox)"   tabTitle="Inbox" tabIcon="filing"></ion-tab>
        <ion-tab (ionSelect)="showMessages(messageTypes.saved)"   tabTitle="Saved" tabIcon="archive"></ion-tab>
        <ion-tab (ionSelect)="showMessages(messageTypes.deleted)" tabTitle="Deleted" tabIcon="trash"></ion-tab>
    </ion-tabs>
</ion-content>

And here’s the error

EXCEPTION: Error in build/pages/inbox/inbox.template.html:3:22
ORIGINAL EXCEPTION: Error: Out of stack space
ORIGINAL STACKTRACE:
Error: Out of stack space
   at cancelEventListener (http://localhost:8100/build/js/zone.js:843:6)
   at ZoneDelegate.prototype.cancelTask (http://localhost:8100/build/js/zone.js:373:18)
   at Zone.prototype.cancelTask (http://localhost:8100/build/js/zone.js:279:14)
   at zoneAwareRemoveEventListener (http://localhost:8100/build/js/zone.js:901:10)
   at removeEventListener (Function code:1:39)
   at Content.prototype._addListener (http://localhost:8100/build/js/app.bundle.js:53280:9)
   at Content.prototype.addScrollListener (http://localhost:8100/build/js/app.bundle.js:53236:9)
   at Anonymous function (http://localhost:8100/build/js/app.bundle.js:53221:13)
   at ZoneDelegate.prototype.invoke (http://localhost:8100/build/js/zone.js:321:14)
   at Zone.prototype.run (http://localhost:8100/build/js/zone.js:216:18)
ERROR CONTEXT:
[object Object]
zone.js (463,10)
   {
      [functions]: ,
      __proto__: { },
      _context: { },
      _originalException: { },
      _originalStack: "Error: Out of stack space
   at cancelEventListener (http://localhost:8100/build/js/zone.js:843:6)
   at ZoneDelegate.prototype.cancelTask (http://localhost:8100/build/js/zone.js:373:18)
   at Zone.prototype.cancelTask (http://localhost:8100/build/js/zone.js:279:14)
   at zoneAwareRemoveEventListener (http://localhost:8100/build/js/zone.js:901:10)
   at removeEventListener (Function code:1:39)
   at Content.prototype._addListener (http://localhost:8100/build/js/app.bundle.js:53280:9)
   at Content.prototype.addScrollListener (http://localhost:8100/build/js/app.bundle.js:53236:9)
   at Anonymous function (http://localhost:8100/build/js/app.bundle.js:53221:13)
   at ZoneDelegate.prototype.invoke (http://localhost:8100/build/js/zone.js:321:14)
   at Zone.prototype.run (http://localhost:8100/build/js/zone.js:216:18)",
      _wrapperMessage: "Error in build/pages/inbox/inbox.template.html:3:22",
      _wrapperStack: "Error: Error in build/pages/inbox/inbox.template.html:3:22
   at WrappedException (http://localhost:8100/build/js/app.bundle.js:2506:9)
   at ViewWrappedException (http://localhost:8100/build/js/app.bundle.js:31857:9)
   at DebugAppView.prototype._rethrowWithContext (http://localhost:8100/build/js/app.bundle.js:32492:17)
   at DebugAppView.prototype.detectChanges (http://localhost:8100/build/js/app.bundle.js:32478:13)
   at AppView.prototype.detectViewChildrenChanges (http://localhost:8100/build/js/app.bundle.js:32396:13)
   at _View_InboxPage_Host0.prototype.detectChangesInternal (Function code:43:3)
   at AppView.prototype.detectChanges (http://localhost:8100/build/js/app.bundle.js:32370:9)
   at DebugAppView.prototype.detectChanges (http://localhost:8100/build/js/app.bundle.js:32475:13)
   at ViewRef_.prototype.detectChanges (http://localhost:8100/build/js/app.bundle.js:32827:54)
   at ViewController.prototype.fireWillEnter (http://localhost:8100/build/js/app.bundle.js:62443:13)",
      context: { },
      message: "EXCEPTION: Error in build/pages/inbox/inbox.template.html:3:22
ORIGINAL EXCEPTION: Error: Out of stack space
ORIGINAL STACKTRACE:
Error: Out of stack space
   at cancelEventListener (http://localhost:8100/build/js/zone.js:843:6)
   at ZoneDelegate.prototype.cancelTask (http://localhost:8100/build/js/zone.js:373:18)
   at Zone.prototype.cancelTask (http://localhost:8100/build/js/zone.js:279:14)
   at zoneAwareRemoveEventListener (http://localhost:8100/build/js/zone.js:901:10)
   at removeEventListener (Function code:1:39)
   at Content.prototype._addListener (http://localhost:8100/build/js/app.bundle.js:53280:9)
   at Content.prototype.addScrollListener (http://localhost:8100/build/js/app.bundle.js:53236:9)
   at Anonymous function (http://localhost:8100/build/js/app.bundle.js:53221:13)
   at ZoneDelegate.prototype.invoke (http://localhost:8100/build/js/zone.js:321:14)
   at Zone.prototype.run (http://localhost:8100/build/js/zone.js:216:18)
ERROR CONTEXT:
[object Object]",
      name: "Error",
      originalException: { },
      originalStack: "Error: Out of stack space
   at cancelEventListener (http://localhost:8100/build/js/zone.js:843:6)
   at ZoneDelegate.prototype.cancelTask (http://localhost:8100/build/js/zone.js:373:18)
   at Zone.prototype.cancelTask (http://localhost:8100/build/js/zone.js:279:14)
   at zoneAwareRemoveEventListener (http://localhost:8100/build/js/zone.js:901:10)
   at removeEventListener (Function code:1:39)
   at Content.prototype._addListener (http://localhost:8100/build/js/app.bundle.js:53280:9)
   at Content.prototype.addScrollListener (http://localhost:8100/build/js/app.bundle.js:53236:9)
   at Anonymous function (http://localhost:8100/build/js/app.bundle.js:53221:13)
   at ZoneDelegate.prototype.invoke (http://localhost:8100/build/js/zone.js:321:14)
   at Zone.prototype.run (http://localhost:8100/build/js/zone.js:216:18)",
      stack: "EXCEPTION: Error in build/pages/inbox/inbox.template.html:3:22
ORIGINAL EXCEPTION: Error: Out of stack space
ORIGINAL STACKTRACE:
Error: Out of stack space
   at cancelEventListener (http://localhost:8100/build/js/zone.js:843:6)
   at ZoneDelegate.prototype.cancelTask (http://localhost:8100/build/js/zone.js:373:18)
   at Zone.prototype.cancelTask (http://localhost:8100/build/js/zone.js:279:14)
   at zoneAwareRemoveEventListener (http://localhost:8100/build/js/zone.js:901:10)
   at removeEventListener (Function code:1:39)
   at Content.prototype._addListener (http://localhost:8100/build/js/app.bundle.js:53280:9)
   at Content.prototype.addScrollListener (http://localhost:8100/build/js/app.bundle.js:53236:9)
   at Anonymous function (http://localhost:8100/build/js/app.bundle.js:53221:13)
   at ZoneDelegate.prototype.invoke (http://localhost:8100/build/js/zone.js:321:14)
   at Zone.prototype.run (http://localhost:8100/build/js/zone.js:216:18)
ERROR CONTEXT:
[object Object]
   at DebugAppView.prototype._rethrowWithContext (http://localhost:8100/build/js/app.bundle.js:32492:17)
   at DebugAppView.prototype.detectChanges (http://localhost:8100/build/js/app.bundle.js:32478:13)
   at AppView.prototype.detectViewChildrenChanges (http://localhost:8100/build/js/app.bundle.js:32396:13)
   at _View_InboxPage_Host0.prototype.detectChangesInternal (Function code:43:3)
   at AppView.prototype.detectChanges (http://localhost:8100/build/js/app.bundle.js:32370:9)
   at DebugAppView.prototype.detectChanges (http://localhost:8100/build/js/app.bundle.js:32475:13)
   at ViewRef_.prototype.detectChanges (http://localhost:8100/build/js/app.bundle.js:32827:54)
   at ViewController.prototype.fireWillEnter (http://localhost:8100/build/js/app.bundle.js:62443:13)
   at NavControllerBase.prototype._postRender (http://localhost:8100/build/js/app.bundle.js:60663:17)
   at Anonymous function (http://localhost:8100/build/js/app.bundle.js:60618:17)",
      wrapperMessage: "Error in build/pages/inbox/inbox.template.html:3:22",
      wrapperStack: "Error: Error in build/pages/inbox/inbox.template.html:3:22
   at WrappedException (http://localhost:8100/build/js/app.bundle.js:2506:9)
   at ViewWrappedException (http://localhost:8100/build/js/app.bundle.js:31857:9)
   at DebugAppView.prototype._rethrowWithContext (http://localhost:8100/build/js/app.bundle.js:32492:17)
   at DebugAppView.prototype.detectChanges (http://localhost:8100/build/js/app.bundle.js:32478:13)
   at AppView.prototype.detectViewChildrenChanges (http://localhost:8100/build/js/app.bundle.js:32396:13)
   at _View_InboxPage_Host0.prototype.detectChangesInternal (Function code:43:3)
   at AppView.prototype.detectChanges (http://localhost:8100/build/js/app.bundle.js:32370:9)
   at DebugAppView.prototype.detectChanges (http://localhost:8100/build/js/app.bundle.js:32475:13)
   at ViewRef_.prototype.detectChanges (http://localhost:8100/build/js/app.bundle.js:32827:54)
   at ViewController.prototype.fireWillEnter (http://localhost:8100/build/js/app.bundle.js:62443:13)"
   }

I am using Segments instead of Tabs to make this.
Don’t know if it is the best way but it works.