2017-02-22 19 views
11

Tôi sử dụng các tab ion trong ứng dụng của mình và tôi muốn sử dụng hình ảnh trong một nút tab. Tôi muốn đặt ảnh động này.Ionic 2: Sử dụng hình ảnh trong nút tab

Trong trường hợp của tôi, tôi có một tài khoản với những người dùng khác nhau được liên kết với nó. Tôi muốn thay đổi ảnh tab của mình tùy thuộc vào người dùng đã chọn.

Tôi có điều này:

enter image description here

Và tôi muốn điều này:

enter image description here

Mã của tôi trong các tab của tôi:

<ion-tabs tabsHighlight="false"> 
     <ion-tab [root]="HomePage" 
       tabsHideOnSubPages="true" 
       tabIcon="checkbox" 
       tabTitle="A faire" 
       tabBadge="5" 
       tabBadgeStyle="notif"> 
     </ion-tab> 
     <ion-tab [root]="ToComePage" 
       tabsHideOnSubPages="true" 
       tabIcon="time" tabTitle="A venir" 
       tabBadge="0" 
       tabBadgeStyle="notif"> 
     </ion-tab> 
     <ion-tab [root]="HistoricPage" 
       tabsHideOnSubPages="true" 
       tabIcon="book" 
       tabTitle="Historique"> 
     </ion-tab> 
     <ion-tab [root]="MenuPage" 
       tabsHideOnSubPages="true" 
//I want to delete this tab Icon and replace it by a picture. 
       tabIcon="menu" 
       tabTitle="Menu"> 
     </ion-tab> 
    </ion-tabs> 

Tôi không biết làm thế nào để làm điều đó, một ý tưởng?

+0

Hãy đăng một số mã đó chứng tỏ những gì bạn đã cố gắng. –

+0

Tôi đã thay đổi bài đăng của mình. Tôi không biết những gì bạn cần để hiểu rõ hơn những gì tôi muốn làm gì? –

Trả lời

3

Cuối cùng tôi tìm thấy một giải pháp! Tôi chỉ viết trong DOM được tạo.

tôi làm như thế này:

updateAccountTab() : void { 
     let array = document.getElementsByClassName('tabbar'); 
     let tabbar = array[0]; 
     let element = tabbar.childNodes[tabbar.childElementCount-1]; 
     if(element) { 
      element.removeChild(element.childNodes[1]); 
      let img = document.createElement("img"); 
      img.setAttribute("class", "tab-icon-custom tab-button-icon icon icon-md"); 
      img.setAttribute("src", this.pdata.user.profile_thumbnail); 
      element.insertBefore(img, element.childNodes[1]); 
     } 
    } 
+1

Đó không phải là cách được khuyến nghị để tương tác với DOM trong ứng dụng Góc/Ionic. Nó có thể dẫn đến một số vấn đề hiệu suất. – sebaferreras

+1

Chắc chắn, tôi hiểu. Nhưng tôi không tìm cách khác để làm những gì tôi muốn ... –

+2

Ồ, được rồi. Sau đó hôm nay tôi sẽ chỉnh sửa câu trả lời của bạn và bao gồm cách _ionic để làm chính xác như vậy :) – sebaferreras

9

cho biết tên tùy chỉnh để tabIcon như

<ion-tab [root]="MenuPage" 
     tabsHideOnSubPages="true" 
     tabIcon="customicon" 
     tabTitle="Menu"> 
</ion-tab> 

và trong css:

.ion-ios-customicon-outline, 
.ion-ios-customicon,.ion-md-customicon,.ion-md-customicon-outline { 
    content: url('imageurl'); 
} 

plunk

+0

Cảm ơn nó hoạt động! Nhưng làm thế nào tôi có thể thay đổi kích thước của hình ảnh? Tôi đã cố gắng sửa đổi chiều rộng nhưng nó không phải là thư. –

+0

Làm cách nào để tự động thay đổi URL của hình ảnh? –

+0

bạn đã bao giờ tìm ra cách thay đổi url hình ảnh? – nareeboy

Các vấn đề liên quan