【发布时间】:2019-11-08 10:30:01
【问题描述】:
升级到 Angular 8、NGBootstrap 5 后,我所有的 NgbDropdown 都已停止在 ios 设备(cordova 应用程序)上运行。
ngbdropdown 在 Windows、Apple 和 Android Cordova 上的所有浏览器上都能完美运行,但在 ios 设备上的 Cordova 应用程序中使用时,不会触发点击事件。 xcode中没有触发错误。
这是一个简单的例子,当你点击一个项目时应该触发 testclick 函数:
<div ngbDropdown class="d-inline-block">
<button class="btn btn-outline-primary" id="dropdownBasic1" ngbDropdownToggle>Toggle dropdown</button>
<div ngbDropdownMenu aria-labelledby="dropdownBasic1">
<button ngbDropdownItem (click)="testclick(1)">Action - 1</button>
<button ngbDropdownItem (click)="testclick(2)">Another Action</button>
<button ngbDropdownItem (click)="testclick(3)">Something else is here</button>
</div>
</div>
不幸的是,该事件未触发,但 ngbdropdown 关闭。尝试使用焦点事件但没有成功。
testclick() 函数永远不会被触发,但是 ngbdropdown 会正常关闭。
如果按钮放置在 ngbdropdown 之外,即使使用 ngbDropDownItem 标签,一切也会按预期工作:
<div class="col col-12 col-sm-4">
<button ngbDropdownItem (click)="testclick(1)">Action - 1</button>
</div>
使用的版本:
- Angular CLI 8.3.18
- 引导程序:4.3.1
- NgBootstrap:5.1.2
曾尝试降级 Angular,但在我的大型项目中遇到了严重的依赖问题。
有什么建议吗?
【问题讨论】:
标签: ios cordova dropdown angular8 ng-bootstrap