在 Ionic 2 项目中,我需要让用户在某个空闲超时后注销。这样做时,我注意到在调用注销事件并重定向到登录页面之前,我无法关闭日期时间弹出窗口。 我需要在重定向到登录页面之前关闭该弹出窗口。 下面是我正在处理的代码示例
<ion-datetime (ionCancel)="onCancelDateTime()" [(ngModel)]="dateTime">
</ion-datetime>
关闭弹出窗口时将触发(ionCancel(事件。
有没有办法以编程方式调用此事件的触发?
或者有没有另一种方法可以关闭此日期时间弹出窗口?
目前没有官方记录的 Ionic 3 方法以编程方式关闭日期时间选择器。
但是,我们可以使用Javascript的"dispatchEvent"方法来触发对日期时间选择器的"取消"按钮的单击。
这是操作方法:
// Get the reference to the clear button of Datetime picker.
var pickerClearButton = document.getElementsByClassName("picker-button")[0];
// Create a click event to be triggered
var clickEvent = new MouseEvent("click", {
"view": window,
"bubbles": true,
"cancelable": false
});
// Trigger the event
pickerClearButton.dispatchEvent(clickEvent);
我相信这会完成这项工作!!
已解决: 在元素的 html 中添加
<ion-datetime #dateTime .....></ion-datetime>
在控制器中:
@ViewChild("dateTime") dateTime : DateTime;
// close function :=>
// you can use this function in a timeout if you like to close it that way
public closeDateTimeModal():void {
this.dateTime._picker.dismiss();
}
经过测试及其工作。 干杯!