如何关闭Ionic2 Datetime弹出窗口而不单击“取消”按钮

时间:2017-07-28 05:18:49

标签: javascript angular datetime ionic2 popup

在Ionic 2项目中,我需要在一定的空闲超时后让用户注销。在这样做时,我注意到我无法在调用注销事件并重定向到登录页面之前关闭Datetime弹出窗口。 我需要在重定向到登录页面之前关闭该弹出窗口。 下面是我正在处理的代码示例

<ion-datetime (ionCancel)="onCancelDateTime()" [(ngModel)]="dateTime">

</ion-datetime>

关闭弹出窗口时会触发(ionCancel)事件。

有没有办法以编程方式调用此事件的触发?

或者是否有其他方法可以关闭此Datetime弹出窗口?

2 个答案:

答案 0 :(得分:3)

目前没有官方记录的Ionic 3方式以编程方式关闭日期时间选择器。

但是我们可以使用Javascript&#39; dispatchEvent&#39;触发点击&#39;取消&#39;的方法日期选择器的按钮。

以下是如何操作:

// 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);

我相信这会做好工作!!

答案 1 :(得分:1)

已解决: 在元素的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();
}

经过测试及其工作。 干杯!