【问题标题】:Nativescript Tap events not working inside tabview iOSNativescript Tap事件在tabview iOS中不起作用
【发布时间】:2019-07-02 15:31:58
【问题描述】:

我有一个带有两个选项卡的简单 TabView,每个选项卡都有一个按钮,按钮上的触摸事件显示出一些奇怪的行为。

如果我只是直接输出 TabView,所有事件都会起作用:

<GridLayout rows="*">
  <TabView row="0">
    <StackLayout *tabItem="{title: 'Tab 1'}">        
      <button background="red" (tap)="alert('Hello 1')"></button>  
    </StackLayout>
    <StackLayout *tabItem="{title: 'Tab 2'}">        
      <button background="red" (tap)="alert('Hello 2')"></button>  
    </StackLayout>
  </TabView>
</GridLayout>

现在,当我在应用程序获取一些数据后有条件地显示 TabView 时,我得到了一些意想不到的行为:

 <TabView *ngIf="VarSetAfterServerResponse">
  ....

第一个按钮的 Tap 事件只会触发一次或两次,最后一个按钮会继续工作。

这是一个简化的示例。我在所有包含更复杂内容的选项卡中都得到了这个,从 HTML 中设置的任何事件侦听器都不起作用。从 TypeScript 附加的 EventListeners 也不可靠,试图在所有 Angular LifeCycleEvents 中设置这些。

这只是 iOS 上的问题。

【问题讨论】:

  • 你能告诉我们你是如何在你的模板中放置 TabView 的吗?
  • 当然,查看编辑后的帖子,它在 GridLayout 内,没有别的

标签: nativescript nativescript-angular


【解决方案1】:

这似乎是 {N} Angular 的一个错误,您可能想在Github 上报告。作为一种解决方法,您可以在TabView 上使用visibility

<TabView [visibility]="VarSetAfterServerResponse ? 'visible' : 'hidden'">
  ....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 2020-01-28
    相关资源
    最近更新 更多