Show/hide 元素根据 Ionic 5 中的平台

Show/hide elements according to platform in Ionic 5

在我的项目中,我想使用带有标签和图标的 'ion-item'。类似的东西:

<ion-item>
   <ion-label>Itens</ion-label>
   <ion-label><i class="icon-search"></i></ion-label>
</ion-item>

问题是 IOS 已经默认使用了 'ion-item' 中的图标。我不想只为 android 更改按钮模式,我想仍然使用原生元素样式。

我的问题是:有没有办法根据平台hide/show元素?

我看到有人在 Ionic 3 中谈论 'showWhen' 属性 但显然,它不再工作了...

Ionic 具有“平台”服务,可以通过编程方式为您提供当前用户平台的上下文:

https://ionicframework.com/docs/angular/platform

您可以按照文档说明导入和注入它:


import { Platform } from '@ionic/angular';
    
    @Component({...})
    export class MyPage {
      
      ios: boolean;
      android: boolean;
      
      constructor(public platform: Platform) {
          this.ios = platform.is('ios');
          this.android = platform.is('android');
      }

    }

然后您可以简单地将组件绑定到布尔属性:

<ion-item *ngIf="ios">
   <ion-label>Itens</ion-label>
   <ion-label><i class="icon-search"></i></ion-label>
</ion-item>