项目中,经常会用到 在一个学年或者一个学期或者某一个时间段需要做的某件事情,则我们需要在创建这个事件的时候,需要设置一定的时间周期,那这个时间周期就需要给一定的限制处理,避免用户的误操作,优化用户体验
如下:需求为,在选择学年后,学期的设置需要在学年中,且结束时间大于开始时间
data() {return {pickerOptionsStartTimes: function (entDate) {//学期开始日期 禁用处理let entTimes = entDatereturn {disabledDate: time => {//开始年1月1日 之后的时间time.getTime() < new Date(this.ruleForm.beginYear, 0, 1).getTime()//结束年12月31日之前的时间 time.getTime() > new Date(this.ruleForm.endYear, 11, 31).getTime()if (entTimes) {//选择 开始年1月1日-结束时间 期间的时间return time.getTime() < new Date(this.ruleForm.beginYear, 0, 1).getTime() || time.getTime() > new Date(entTimes).getTime()} else {//选择 开始年1月1日-结束年12月31日return time.getTime() < new Date(this.ruleForm.beginYear, 0, 1).getTime() || time.getTime() > new Date(this.ruleForm.endYear, 11, 31).getTime()}},}},pickerOptionsEndTimes: function (startDate) {//学期结束日期 禁用处理let beginDate = startDatereturn {disabledDate: time => {if (beginDate) {//选择 开始时间-结束年12月31日前 的时间return time.getTime() < new Date(beginDate).getTime() || time.getTime() > new Date(this.ruleForm.endYear, 11, 31).getTime()} else {//选择 开始年1月1日-结束年12月31日return time.getTime() < new Date(this.ruleForm.beginYear, 0, 1).getTime() || time.getTime() > new Date(this.ruleForm.endYear, 11, 31).getTime();}},}},
}
}
因为我这个页面的需求是,学期管理是可以动态添加/删除的 所以需要用传值的方式 实现当前学期的起始时间设置