vant组件如何给日历控件中特定的日期加背景颜色
第一步:
先在van-calendar标签中添加formatter属性 ,即:
//打开时间控件显示日历<div @click="showDate()"></div>// calendar标签<van-calendar v-model="dateOpen" @confirm="onConfirm" :min-date="minDate" :formatter="formatter />"```
第二步:在methods中添加formatter 方法,即:
//添加formatter方法formatter(day) {const date = day;return date;}
注意:formatter方法中一定要写return返回,要不会报错。
第三步:将后端返回的数据日期与formatter中的数据进行比对,如果相同,则将相应的日期标红,方法如下:
data(){return{bgColor:'fff',dateList:[] //后端返回数据}},methods: {showDate(){//用一个ajax通过后台返回得到数据日期this.dateList = response.result;},formatter(day) {const date = day;var date1 = this.formatDate(date.date);//将日期转为字符串for(var ithis.=0;i<this.dateList.length;i++){var date2 = this.dateList[i];if(date1 = = date2){date.className = "red-flag";}}return date;}}
第四步:在css里面设置背景颜色,即:
/deep/ .red-flag {background:#fa6861;color:#ffffff;}
这样就可以在日历中给特定的日期加背景颜色。