html - 在 ionic-calendar 2 中使用点击事件时遇到问题
问题描述
我正在尝试对 ionic-calendar 2 使用(单击)事件,如果用户单击已经过去的日期,它会禁用按钮,我的问题是,当我第一次单击过去的日期时,按钮未被禁用,但是我第二次按下它会禁用该按钮,似乎日历本身没有识别出有人在第一次点击时点击了不同的日期。
HTML
<calendar (click)='passedDate()' [eventSource]='eventSource'
[calendarMode]='calendar.mode'
[currentDate]='calendar.currentDate'
(onEventSelected)='onEventSelected($event)'
(onTitleChanged)='onViewTitleChanged($event)'
(onTimeSelected)='onTimeSelected($event)'
step='30'
class='calendar'>
</calendar>
<button ion-button (click)='appointments()' id="date" block [disabled]="block">
Next
</button>
打字稿
eventSource =[];
viewTitle: string;
selectedDay = new Date();
block = false; //If user clicks on a date that has already passed this value turns true
calendar = {
mode: 'month',
currentDate: ''
}
onViewTitleChanged(title){
this.viewTitle = title;
}
onTimeSelected(ev){
this.selectedDay = ev.selectedTime;
}
passedDate(){
const date = new Date();
if(this.selectedDay < date){
this.block = true;
}
else { this.block = false;}
}
这是我第一次使用 ion-calendar 2,所以我不确定点击事件应该如何处理它,但我希望如果用户点击一个已经过去的日期,它会立即禁用该按钮。
解决方案
推荐阅读
- django - 如何在生产中提供媒体文件
- amazon-web-services - 从 Glue 运行时在 2 个 AWS 账户之间写入时设置 S3 存储桶权限
- r - 如何读取分隔符“|” R外部csv文件中的垂直线
- heroku - 你好。我创建了 Quasar App - 网站。试图将它推送到 Heroku,它说推送失败。为控制台提供错误
- openedge - 如何使用 Windows API 'GetTcpTable' 找到可用的 tcp 端口?
- c++ - 如何在编译时“填充”大小的剩余部分?
- amazon-web-services - 使用 Looker 中的表格计算计算重复频率
- r - 如何在 R 中合并多个具有唯一 ID 的 .csv?
- r - 平淡无奇的奥特曼图:如何改变 y 轴
- java - 有没有办法在 testNG 中动态归因描述注释?