Ionic 4预先选择模式中的标签

时间:2018-12-19 23:12:35

标签: angular ionic-framework ionic4

我有一个单击按钮时启动的模式

async launchCalculator() {
  const calculator = await this.modalController.create({
    component: CalculatorPage,
    componentProps: {
      dosingType: this.dosingType
    },
    showBackdrop: true,
  });
  return await calculator.present();
}

在模态内,我有2个标签。我正在尝试预先选择一个标签,但它不起作用。

<ion-header>
  <ion-toolbar>
    <ion-title>Dosing Calculator</ion-title>
  </ion-toolbar>
</ion-header>

<ion-content padding class="white-bg">

  <ion-tabs >
    <ion-tab tab="standard">standard content</ion-tab>
    <ion-tab tab="hepatic">hepatic Content</ion-tab>

    <ion-tab-bar slot="top" [selectedTab]="dosingType">
      <ion-tab-button tab="standard">
        <ion-label>Standard</ion-label>
      </ion-tab-button>
      <ion-tab-button tab="hepatic">
        <ion-label>Hepatic<br>Impairment</ion-label>
      </ion-tab-button>
    </ion-tab-bar>

  </ion-tabs>

</ion-content>

我已经在标签栏上设置了[selectedTab],它没有预先选择标签。如果我更改属性以使用:

<ion-tab-bar slot="top" selected-tab="standard">

这类作品。该选项卡至少在那时具有选定的显示状态,但是,在单击该选项卡之前,该选项卡内容(应显示“标准内容”)不可见。我当然做错了。有什么想法吗?

想通了

首先<ion-tabs #dosingTabs>添加一个ID。然后在您的导出@ViewChild('dosingTabs') tabs:Tabs;中,然后继续调用this.tabs.select(<name or index>)

1 个答案:

答案 0 :(得分:0)

如果您在html模板中为ion-tabs提供了ID,请使用Ionic 4.6.0,如上所述:

<ion-tabs #tabs>

,并在您相应的组件位置:

@ViewChild('tabs') tabs : IonTabs;

一起导入
import { IonTabs } from '@ionic/angular'

然后,您可以在组件中根据需要设置默认标签:

 this.tabs.select(<name or index>);