[英]How to close calendar popup after clicking on date
选择日期后如何隐藏日历? 我正在使用DanyelYKPan的Date-time-picker 。
有没有可以使用的特定功能? 我的代码如下
<div class="col-3">
<div class="form-group calenderForm calenderForm1">
<label for="templateName">REPAIR DATE (FROM)</label>
<owl-date-time name="repairDateFrom"
[(ngModel)]="repairDateFrom"
[max]="max"
[type]="'calendar'"
[dateFormat]="'YYYY-MM-DD'"
[placeHolder]="'YYYY-MM-DD'"
></owl-date-time>
<div class="error-message-block"></div>
<input type="hidden" name="repairDateFrom" id = "repairDateFrom" value="
{{repairDateFrom | date: 'yyyy-MM-dd'}}" (click)="closeDatePopUp()"/>
</div>
</div>
从代码顶部通过选择器插件组件调用将转到以下函数。
DateTimePickerComponent.prototype.updateFormattedValue = function () {
var formattedValue = '';
if (this.value) {
var d = new Date();
if (this.isSingleSelection()) {
this.value = this.value.setHours(d.getHours(), d.getMinutes());
formattedValue = date_fns_1.format(this.value, this.dateFormat,
{ locale: this.locale.dateFns });
$('.owl-calendar-wrapper').on('click',function(){
$('.owl-dateTime-dialog').hide();
});
}}}
我尝试使用上面的代码,它仅在单击日期字段后一次只能工作一次,第二次日期弹出不会出现。 请帮我解决这个问题。
如果您是我,我将使用角度组件交互页面中介绍的@ViewChild的父调用机制。
1-导入DateTimePickerComponent
import { DateTimePickerComponent } from "ng-pick-datetime/picker.component"
2-将其引用给ViewChild并分配一个变量名称:
@ViewChild(DateTimePickerComponent) picker: DateTimePickerComponent;
3-现在,您可以通过this.picker
访问此处描述的所有非私有属性/方法: https : this.picker
要隐藏日历,可以将dialogVisible
设置为false
:
this.picker.dialogVisible = false
现在是时候在我们的日历中检测单击事件了。 最简单的方法是使用(ngModelChange)事件。
<owl-date-time
[(ngModel)]="repairDateFrom" name="repairDateFrom"
(ngModelChange)="onDateChange()"
[type]="'calendar'"
[dateFormat]="'YYYY-MM-DD'"
></owl-date-time>
在我们的组件中:
onDateChange() {
this.picker.dialogVisible = false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.