uniapp日历插件,并实现签到效果

首先去官网下载我们所需要的日历插件http://ext.dcloud.net.cn/plugin?id=56
选择
选择下载插件ZIP,然后我们将解压出来的文件放到项目的components里面,在所需要的页面进行引入,注册组件,然后使用

<view class="top-main">
      <view class="signIn-btn" @click="handelSign">点击签到</view>
    </view>
    <calendar
      :date="date"
      :selected="selected" //打点功能
      :disable-before="true"
      :start-date="'2019-3-2'"
      :end-date="'2019-5-20'"
      class="calendar_box"
      @change="change"
      @to-click="toClick"
    />

import calendar from "../../components/uni-calendar/uni-calendar.vue";

@Component({
  components: {
    calendar,
  },
})

 date: any = "2020-08-13"; //初始日期
  selected= [ //打点日期,实际开发中,这里需要请求后端接口,拿取数据后在进行渲染
    {
      date: "2020-8-13"
    },
    {
      date: "2020-8-20"
    },
    {
      date: "2020-8-1"
    },
    {
      date: "2020-8-3"
    }
  ];

  /* 点击签到 */
  handelSign(){
    var date = new Date().toISOString().slice(0, 10);//签到功能获取当前时间并格式化
    console.log(date) //当我们这里点击签到后就可以将当前日期参数返回给后端,存入表中
  }
  change(e: any) {
    console.log(e);
  }

  toClick(e: any) {
    console.log(e);
  }
}

然后这个插件运行成功后是这个样子
在这里插入图片描述
这跟我的设计图还是有点出入,我们只需要去uni-calendar-item.vue这个文件里头去找对应的class进行修改就可
在这里插入图片描述
这个日历的样式是通过动态class去判断,该日期是否为当前日期,该日期是否为打点日期,是否非本月日期等等,如果你有其他需求,可以打印这个weeks参数,就可以找出区分的一些属性值,然后结合在一起判断即可

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值