我在 IOS 上遇到了一个问题。 我正在实现聊天,其中有一个联系人列表,当您单击其中一个时,它将显示相关消息的列表。 它在 android 和浏览器(甚至在 IOS 浏览器)上运行良好,但在 IOS 上,当我单击联系人以显示消息时,没有任何反应。 我的函数不是从 html 调用的,即使我试图在我的 ion-content 上到处添加一些测试按钮。它只适用于我的 ion-header。
你能救我一命吗?
这是我的代码:
HTML:
<ion-header>
<ion-toolbar>
<ion-buttons>
<button ion-button (click)="displayChat(undefined)">
Test (works here)
</button>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content class="no-scroll" style="height: 100% !important;">
<div>
<button ion-button (click)="displayChat(undefined)">
Test ?
</button>
<ion-list class="contactList">
<ion-item *ngFor="let chat of chats"
(click)="displayChat(chat)">
{{chat.contactName}}
<br>
<span class="chatDate">
{{chat.lastMessageSend}}
</span>
</ion-item>
</ion-list>
<button ion-button (click)="displayChat(undefined)">
Test ?
</button>
</div>
</ion-content>
<ion-footer>
<ion-toolbar>
<ion-title>Footer</ion-title>
<button ion-button (click)="displayChat(undefined)">
Test ?
</button>
</ion-toolbar>
</ion-footer>
TS:
displayChat(chat: Chat) {
console.log("Ok");
}
我减少了我的代码以提高可读性。
尽情享受吧!
编辑
.no-scroll .scroll-content {
overflow: hidden;
}
.chatDate {
float: right;
font-size: 0.7em;
}
它在页脚中也不起作用。
最佳答案
好的,我知道问题出在哪里了。
实际上,这段代码从 Popover 运行到 Ionic Modal。
我必须让我的 Popover 保持打开状态以使用 OnDidDismiss 方法处理某些处理,但只有当弹出窗口保持打开状态时它才能执行此方法。
但是,在 IOS 中(当然),如果 Popover(或者可能是任何其他绝对元素)在您的模态后面,您将无法点击模态。
因此,为了解决这个问题,我创建了一个 Observable 来处理(Modal 的)OnDidDismiss 方法,我将其作为 viewCtrl.dismiss 方法的参数提供,以将其返回到 Popover View 的 OnDidDismiss 上,并且然后订阅 Observable。
关于html - 进入 Modal 的 Ionic 3(单击)事件在 ios 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56601501/