我确实有一个主页,其中有一个停靠布局,停靠布局在屏幕底部有一个停靠选项卡导航,屏幕的其余部分有选项卡导航到的页面。在停靠布局内,我有一个嵌套的子 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。