微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

uniapp的uView的Calender禁用某些日期,并给出一些提示

u-calendar__content__item__inner

1.在这个class中添加自己想要的格式

<view class="leased" v-if="item.isUse">
							已租赁
						</view>

2,在changeData方法中更改数据格式,然后匹配自己的禁用日期时间

this.daysArr.forEach((item,index)=>{
					this.daysArr[index] = {
						isUse:false,
						data:item
					}
					let month = this.month<10?('0'+this.month):this.month
					let day = item<10?('0'+item):item
					let date = `${this.year}-${month}-${day}`
					if(this.disabledTime.includes(date)){
						this.daysArr[index].isUse=true
					}
				})

3.在opendisabled中修改原来判断

for(var i = 0;i<this.disabledTime.length;i++){
					// console.log(this.disabledTime[i])
					let newDay = this.disabledTime[i].replace(/\-/g,'/')
					newDay = new Date(newDay).getTime()
					if(timestamp===newDay){
						bool=true;
					}
				}

newDay为传入禁用日期数组

4.下方为获取开始结束日期之内的所有日期

getAllDate(start, end) {
			let dateArr = []
			start = start.split(' ')
			let startArr = start[0].split('-')
			end = end.split(' ')
			let endArr = end[0].split('-')
			let db = new Date()
			db.setUTCFullYear(startArr[0], startArr[1] - 1, startArr[2])
			let de = new Date()
			de.setUTCFullYear(endArr[0], endArr[1] - 1, endArr[2])
			let unixDb = db.getTime()
			let unixDe = de.getTime()
			let stamp
			const oneDay = 24 * 60 * 60 * 1000;
			for (stamp = unixDb; stamp <= unixDe;) {
				dateArr.push(this.format(new Date(parseInt(stamp))))
				stamp = stamp + oneDay
			}
			return dateArr
		},

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐