Tap 事件不会从 iOS 中的 Dock 布局的子项内部发生,但如果放置在 Dock 布局父级中,您会得到该事件

问题描述 投票:0回答:0

我确实有一个主页,其中有一个停靠布局,停靠布局在屏幕底部有一个停靠选项卡导航,屏幕的其余部分有选项卡导航到的页面。在停靠布局内,我有一个嵌套的子 flexbox,作为底部导航栏和页面路由器出口停靠在底部。我在嵌套的 flexbox 中放置了一个 tap 事件,用于导航到相应的页面,但 tap 事件不会在 flexbox 级别发生。当我将点击事件放在停靠栏布局上时,我收到了该事件。此问题仅在 iOS 中出现,但在 Android 中一切正常。

这是我的代码:

<DockLayout stretchLastChild="false"    
 (tap)="parentTap($event)"    
  class="dock-layout">        
  
      <FlexboxLayout  (tap)="childTap($event)"  
      dock="bottom" class="bottom-nav">      
             
              <FlexboxLayout   height="75"           
                  (tap)="navigate(item)"             
                *ngFor="let item of bottomNavList;let i=index"            
                 [class.active-tab]="currentTab==item.label"            
                  class="tab-item">          
  
                         <Label text="icon" textWrap="true"></Label>                
                         <Label text="text" textWrap="true"></Label>     
   
                 </FlexboxLayout>        

     </FlexboxLayout>                

    <page-router-outlet></page-router-outlet></DockLayout>

只有 parentTap 事件有效,而 childTap 事件和 iOS 中的导航功能无效。而在 Android 中一切正常,完全没有问题。

https://github.com/NativeScript/NativeScript/issues/3006 - 我尝试参考这段代码但没有用。

虽然同样适用于 GridLayout 而不是 iOS 中的 DockLayout。

ios nativescript angular2-nativescript nativescript-angular
© www.soinside.com 2019 - 2024. All rights reserved.