mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-21 04:53:58 +08:00
feat(tabs): add tabBadgeStyle which allows you to pass in a color for the badge to be
Closes #5007
This commit is contained in:
@ -79,6 +79,8 @@ import {TabButton} from './tab-button';
|
||||
* @property {any} [root] - set the root page for this tab
|
||||
* @property {any} [tabTitle] - set the title of this tab
|
||||
* @property {any} [tabIcon] - set the icon for this tab
|
||||
* @property {any} [tabBadge] - set the badge for this tab
|
||||
* @property {any} [tabBadgeStyle] - set the badge color for this tab
|
||||
* @property {any} [select] - method to call when the current tab is selected
|
||||
*
|
||||
*/
|
||||
@ -104,6 +106,7 @@ export class Tab extends NavController {
|
||||
@Input() tabTitle: string;
|
||||
@Input() tabIcon: string;
|
||||
@Input() tabBadge: string;
|
||||
@Input() tabBadgeStyle: string;
|
||||
@Output() select: EventEmitter<any> = new EventEmitter();
|
||||
|
||||
constructor(
|
||||
@ -130,6 +133,8 @@ export class Tab extends NavController {
|
||||
* @private
|
||||
*/
|
||||
ngOnInit() {
|
||||
this.tabBadgeStyle = this.tabBadgeStyle ? this.tabBadgeStyle : 'default';
|
||||
|
||||
if (this._isInitial) {
|
||||
this.parent.select(this);
|
||||
|
||||
|
@ -48,7 +48,7 @@ import {isUndefined} from '../../util/util';
|
||||
'<a *ngFor="#t of _tabs" [tab]="t" class="tab-button" role="tab">' +
|
||||
'<ion-icon [name]="t.tabIcon" [isActive]="t.isSelected" class="tab-button-icon"></ion-icon>' +
|
||||
'<span class="tab-button-text">{{t.tabTitle}}</span>' +
|
||||
'<ion-badge *ngIf="t.tabBadge" class="tab-badge">{{t.tabBadge}}</ion-badge>' +
|
||||
'<ion-badge *ngIf="t.tabBadge" class="tab-badge" [ngClass]="\'badge-\' + t.tabBadgeStyle">{{t.tabBadge}}</ion-badge>' +
|
||||
'</a>' +
|
||||
'<tab-highlight></tab-highlight>' +
|
||||
'</tabbar>' +
|
||||
|
@ -11,13 +11,13 @@
|
||||
<ion-tabs no-navbar>
|
||||
<ion-tab tabIcon="call"></ion-tab>
|
||||
<ion-tab tabIcon="heart"></ion-tab>
|
||||
<ion-tab tabIcon="settings" tabBadge="all"></ion-tab>
|
||||
<ion-tab tabIcon="settings" tabBadge="all" tabBadgeStyle="primary"></ion-tab>
|
||||
</ion-tabs>
|
||||
|
||||
|
||||
<!-- Icons on top of text -->
|
||||
<ion-tabs no-navbar>
|
||||
<ion-tab tabTitle="Location" tabIcon="navigate" tabBadge="11"></ion-tab>
|
||||
<ion-tab tabTitle="Location" tabIcon="navigate" tabBadge="11" tabBadgeStyle="secondary"></ion-tab>
|
||||
<ion-tab tabTitle="Favorites" tabIcon="star"></ion-tab>
|
||||
<ion-tab tabTitle="Radio" tabIcon="musical-notes"></ion-tab>
|
||||
</ion-tabs>
|
||||
@ -26,7 +26,7 @@
|
||||
<!-- Icons below text -->
|
||||
<ion-tabs tabbarIcons="bottom" no-navbar>
|
||||
<ion-tab tabTitle="Recents" tabIcon="call"></ion-tab>
|
||||
<ion-tab tabTitle="Favorites" tabIcon="heart" tabBadge="577"></ion-tab>
|
||||
<ion-tab tabTitle="Favorites" tabIcon="heart" tabBadge="577" tabBadgeStyle="dark"></ion-tab>
|
||||
<ion-tab tabTitle="Settings" tabIcon="settings"></ion-tab>
|
||||
</ion-tabs>
|
||||
|
||||
@ -35,12 +35,12 @@
|
||||
<ion-tabs tabbarIcons="right" no-navbar>
|
||||
<ion-tab tabTitle="Recents" tabIcon="call"></ion-tab>
|
||||
<ion-tab tabTitle="Favorites" tabIcon="heart"></ion-tab>
|
||||
<ion-tab tabTitle="Settings" tabIcon="settings" tabBadge="1030"></ion-tab>
|
||||
<ion-tab tabTitle="Settings" tabIcon="settings" tabBadge="1030" tabBadgeStyle="light"></ion-tab>
|
||||
</ion-tabs>
|
||||
|
||||
<!-- Icons left of text -->
|
||||
<ion-tabs tabbarIcons="left" no-navbar>
|
||||
<ion-tab tabTitle="Recents" tabIcon="call" tabBadge="32"></ion-tab>
|
||||
<ion-tab tabTitle="Recents" tabIcon="call" tabBadge="32" tabBadgeStyle="danger"></ion-tab>
|
||||
<ion-tab tabTitle="Favorites" tabIcon="heart"></ion-tab>
|
||||
<ion-tab tabTitle="Settings" tabIcon="settings"></ion-tab>
|
||||
</ion-tabs>
|
||||
|
Reference in New Issue
Block a user