升级到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下拉菜单。有用。

07-27 22:30