升级到Angular 8,NGBootstrap 5后,我所有的NgbDropdown都停止在ios设备(cordova应用程序)上工作。
ngbdropdown在Windows,Apple和Android Cordova上的所有浏览器上均可完美运行,但是在ios设备上的Cordova应用中使用时,不会触发click事件。 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,但遇到了一个与我的大型项目有关的大麻烦。
有什么建议么?
最佳答案
切换到Ngx-bootstrap下拉菜单。有用。