增加自定义点的颜色功能,官方空间点的颜色是固定红色
1、修改的页面 uni-calendar-item
在uni-calendar-item页面中的这个标签中加上一个style属性,判断传过来的参数是否存在bgcolor背景颜色,有的话添加背景色,没有则不添加默认系统颜色。
<text v-if="selected&&weeks.extraInfo"
class="uni-calendar-item__weeks-box-circle"
:style="weeks.extraInfo.bgcolor?'background-color: '+weeks.extraInfo.bgcolor:''"></text>
2、传的参数增加bgcolor
在selected的对象中添加 bgcolor 属性,下面代码与官网基本一致只是增加了个bgcolor属性,也时非必填项。
this.info.selected = [{
date: getDate(new Date(),-3).fullDate,
info: '打卡',
bgcolor:'#007aff'
},
{
date: getDate(new Date(),-2).fullDate,
info: '签到',
bgcolor:'#f3a73f',
data: {
custom: '自定义信息',
name: '自定义消息头'
}
},
{
date: getDate(new Date(),-1).fullDate,
info: '已打卡',
bgcolor: 1 == 1 ? '#007aff' : '#f3a73f'
}
]
其他问题
在使用calendar空间的时候有个问题,直接在this.info.selected中push对象时,日历是不刷新的,只能用建一个新数组将数据放到新数组里面,再this.info.selected=dkList这样赋值,日历才会刷新,有遇到过的吗,可以给我解释一下。