【问题标题】:nativescript angular tabview fails to display on iOSnativescript angular tabview 无法在 iOS 上显示
【发布时间】:2016-10-28 01:29:12
【问题描述】:

我有一个简单的 Angular nativescript 应用程序。初始(仅)页面包含一个带有两个选项卡的简单选项卡视图。每个选项卡都包含一个标签。

应用启动时会显示选项卡,但不显示初始选项卡上的标签。当我跳到第二个选项卡时,它的标签会显示,当我跳回到第一个选项卡时,它的标签现在会显示。

import {Component} from "@angular/core";

@Component({
  selector: "my-tabview",
  template: `
  <TabView #tabview>
    <StackLayout *tabItem="{title: 'Tab1'}">
        <Label text="This is Label in Tab 1x"></Label>
    </StackLayout>
    <StackLayout *tabItem="{title: 'Tab2'}">
        <Label text="This is Label in Tab 2x"></Label>
    </StackLayout>
  </TabView>
`,
})

export class TabViewComponent {
}

如果我有任何关于我所缺少的东西的反馈,我将不胜感激。

谢谢 科林

已修复

虽然显示显示了两个选项卡,并且选项卡文本颜色表明第一个选项卡已被选中,但当我查看 ngAfterViewInit 中的 selectedIndex 属性时,该值未定义。

如果我在 ngAfterViewInit 中将其设置为零,则显示初始选项卡的内容。

这是一个错误吗?我应该像这样以编程方式最初选择一个选项卡,还是有一个我可以使用的 html 属性?

谢谢

科林

【问题讨论】:

    标签: angularjs nativescript tabview


    【解决方案1】:

    我认为这是 NativeScript Angular 项目在使用 TabView 时的正常行为。关于这一点,您可以从 html 设置 selectedIndex TabView 属性。您可以查看下面的代码。

    <TabView selectedIndex="0">
        <StackLayout *tabItem="{title: 'Tab1'}">
            <Label text="This is Label in Tab 1x"></Label>
        </StackLayout>
        <StackLayout *tabItem="{title: 'Tab2'}" >
            <Label text="This is Label in Tab 2x"></Label>
        </StackLayout>
     </TabView>
    

    【讨论】:

    • 谢谢 Nikolay,我会试试的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多