微信小程序日历(可单选或复选时间)

单选时间
在这里插入图片描述
选择时间区域
年月选择

html部分

<view class="calendar custom-class">
  <view class="month">
    <picker bindchange="bindPickerChange" value="{
   {showYear+'-'+showMonth}}" fields='month' mode="date" end="{
   {currentTime}}">
      <text class="title">{
   {
   showYear}}{
   {
   showMonth}}</text>
    </picker>
    <view class="icon_arrows disflex">
      <image src="../../../images/icon_arrows_left.png" bindtap="getLastMonth" class="icon_arrows_left icon_arrows_tip">
      </image>
      <image src="../../../images/icon_arrows_left.png" class="icon_arrows_right icon_arrows_tip" bindtap="getNextMonth"
        wx:if='{
   {currentYear > showYear || (currentYear === showYear && currentMonth > showMonth)}}'></image>
      <image src="../../../images/[email protected]" class="icon_arrows_tip" wx:else></image>
    </view>
  </view>
  <view class="mt-32 week_list">
    <text wx:for="{
   {week}}" class="c-9f9f9f">{
   {
   item}}</text>
  </view>
  <view class="day_list">
    <text wx:for="{
   {dateList}}"
      class="date_item {
   {(item.timestamp === endTimestamp || item.timestamp === startTimestamp)?'selectDate_item':''}} {
   {(item.timestamp < endTimestamp && item.timestamp >= startTimestamp) ? 'selectDateBg' : ''}} c-6b6b6b"
      bindtap="selectDate" data-date="{
   {item.label}}"><text class="selectDate"
        wx:if='{
   {item.timestamp === endTimestamp || item.timestamp === startTimestamp}}'></text>{
   {
   item.label}}<text
        class="circular {
   {item.status === '0' ? 'circular_normal':''}}" wx:if='{
   {item.status}}'></text></text>
  </view>
</view>

js

// components/shopLists/index.js
Component({
   
  externalClasses: ['custom-class'],
  properties: {
   
    type: {
   
      type: String,
      value: 'single', //single表示单选,range表示选择日期区间
    },
    monthTranslate: {
    //日历上的红蓝点
      type: Object,
      value: {
   }
    }
  },
  data: {
   
    week: ['日', '一', '二', '三', '四', '五', '六'],
    dateList: [],
    showYear: '', //页面上展示的年
    showMonth: '', //页面上展示的月
    showDay: '', //页面上展示的日
    startSelectYear: '', //开始选中的年
    startSelectMonth: '', //开始选中的月
    startSelectDay: 0, //开始选中的日
    currentYear: '', //当前年
    currentMonth: '', //当前月
    currentTime: '2021-01', //当前年月日
    startTimestamp: '', //开始的时间戳
    endTimestamp: '', //结束的时间戳
  },
  lifetimes: {
   
    ready() {
   
      const now = new Date();
      const startTimestamp = Date.parse(new Date(now
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值