微信小程序 - 自定义封装 date-picker | 日期选择组件

本文介绍了如何在多个平台上使用日期选择组件,提供了Gitee上的代码地址,并详细说明了其功能、兼容性及使用方法,包括设置日期范围和事件处理等。
摘要由CSDN通过智能技术生成
date-picker | 日期选择组件

功能:日期选择组件
gitee代码地址

兼容Android|IOS|Windows|Mac

使用

.json

{
  "usingComponents": {
    "date-picker": "/component/date-picker/date-picker",
  }
}

.wxml

<!-- 点击打开日期组件弹窗 -->
<view bindtap="open">{{renderTime || '选择日期'}}</view>
<!-- 日期时间选择弹窗 -->
<date-picker bind:onCancel="onCancel" bind:onConfirm="onConfirm" visible="{{isShowPicker}}" mode="{{mode}}" date="{{date}}" startDate="{{startDate}}" endDate="{{endDate}}" minScale="{{minScale}}"></date-picker>

.js

const dateUtils = require('../../../utils/dateutils');
Page({
  /**
   * 页面的初始数据
   */
  data: {
    isShowPicker: false,
    mode: 'YMD',
    date: new Date().getTime(),
    startDate: `2023/01/01`,
    endDate: `2025/12/31`,
    minScale: 10, // 时间选择器分钟刻度
    renderTime: '',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {},
  open() {
    const date = this.data.date;
    this.setData({
      isShowPicker: true,
      date: date ? new Date(date).getTime() : new Date().getTime(),
    })
  },
  onCancel(e) {
    this.setData({
      isShowPicker: false
    })
  },
  onConfirm(e) {
    let mode = this.data.mode;
    let date = e.detail.date;
    let renderTime = dateUtils.formatLongTime(date, dateUtils.modeMapToFields[mode]);
    console.log(time);
    this.setData({
      date,
      renderTime,
      isShowPicker: false,
    })
  },
})
properties:
prop说明类型
date选中日期时间戳String|Number
mode日期格式‘YMDhms’ | ‘YMDhm’ | ‘YMD’ | ‘MD’ | ‘hm’
visible弹窗的显隐Boolean
minScale分钟显示精度Number
startDate开始日期限制String(仅支持年月日,以/分隔的格式,如:2024/01/01)
endDate结束日期限制String(仅支持年月日,以/分隔的格式,如:2024/12/31)
Event:
Event说明参数返回值
onCancel点击取消按钮后执行
onConfirm点击确定按钮后执行date(时间戳格式)
  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值