微信小程序签到日历

本文介绍了一次项目开发中,由于现有组件无法满足需求,作者自行封装微信小程序签到日历组件的过程。文章包含组件界面展示、wxml、js和wxss代码片段,以及组件的使用说明。
摘要由CSDN通过智能技术生成

微信小程序签到日历:

项目开发需要做一个签到日历,看了几个已封装的组件都不满足需求,于是动手封装了一个

组件界面:

在这里插入图片描述
可以扫码查看是否符合自己的需求,案列中的签到日期是随机生成的,所以切换月后签到日期会不一致
在这里插入图片描述

wxml:

<!--components/calendar/index.wxml-->
<view>
  <view class="calendar-header">
    <view class="icon-operate icon-pre" bindtap="handlePreMonth"></view>
    <view class="calender-header-date">{
  { currentYear }}/{
  { tools.formatZero(currentMonth) }}</view>
    <view class="icon-operate icon-next {
    { isDisabledNextMonth ? 'disabled' : '' }}" bindtap="handleNextMonth"></view>
  </view>
  <view class="calendar-body">
    <view class="calendar-week flex-wrap">
      <view wx:for="{
    { weekList }}" wx:key="index" class="days-col">{
  { item }}</view>
    </view>
    <view class="calendar-days flex-wrap">
      <!-- is-today: 是否今日,is-signed: 是否选中,is-signed: 是否签到 -->
      <view wx:for="{
    { monthDayList }}" wx:key="index" class="days-col {
    { item.date == today ? 'is-today' : '' }} {
    { item.date == selectedDate ? 'is-checked' : '' }} {
    { tools.isSigned(item.date, formatSignedList) ? 'is-signed' : '' }}" data-item="{
    { item }}" bindtap="handleSelectDate">
        <view class="days-col-text">{
  { item ? tools.formatZero(item.day) : '' }} </view>
        <view class="icon-signed">{
  { tools.isSigned(item.date, formatSignedList) ? '✔' : '' }}</view>
      </view>
    </view>
  </view>
</view>

<wxs module="tools">
  // 是否签到
  function isSigned(date, list) {
    if (list.indexOf(date) > -1) {
      return true
    }
    return false
  }
  // 十位数补0
  function formatZero(number) {
    if (number < 10 && number > 0) {
      number = '0' + number
    }
    return number
  }

  module.exports = {
    isSigned: isSigned,
    formatZero: formatZero
  }
</
  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值