小程序中vant-weapp时间选择使用方法

这篇文章展示了如何在微信小程序中使用van-cell和van-calendar组件来创建一个选择预约时间的功能。用户可以选择单个日期或日期范围,选定后日期会以指定格式显示。onDisplay、onClose和onConfirm事件处理函数用于控制日历显示和数据处理,formatDate函数则用于格式化日期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、选择单个时间点:

wxml:

  <van-cell
      title="选择预约时间"
      value="{{ time }}"
      bind:click="onDisplay"
    />
    <van-calendar
      show="{{ show }}"
      bind:close="onClose"
      bind:confirm="onConfirm"
    />

json:

    "van-cell": "@vant/weapp/cell/index",
    "van-calendar": "@vant/weapp/calendar/index",

js:

   // 选择预约日期
    onDisplay() {
      this.setData({ show: true });
    },
    onClose() {
      this.setData({ show: false });
    },
    formatDate(date) {
      date = new Date(date);
      let str = `${date.getFullYear()}-${date.getMonth() + 1}/${date.getDate()}`;
      console.log(str);
      this.setData({
        time:str
      });
    },
    onConfirm(event) {
      this.setData({
        show: false,
        date: this.formatDate(event.detail),
      });
    },

如图所示,时间只能选一天:
在这里插入图片描述

二、当选择两个时间点时

wxml:

   <van-cell
      title="选择预约时间"
      value="{{ time }}"
      bind:click="onDisplay"
    />
    <van-calendar
      show="{{ show }}"
      bind:close="onClose"
		 bind:confirm="onConfirm"
		 type="range"
    />

js部分:

  // 选择预约日期
    onDisplay(){
      this.setData({ show: true });
    },
    // 当关闭弹出层时
    onClose() {
      this.setData({ show: false });
    },
    formatDate(date) {
      const date0 = new Date(date[0]);
      const date1 = new Date(date[1]);
      console.log(date0)
      return `${date0.getFullYear()}\.${date0.getMonth() + 1}\.${date0.getDate()}-${date1.getMonth() + 1}\.${date1.getDate()}`;
    },
    // 当选着日期点击确认时
    onConfirm(event){
      console.log(event)
      this.setData({
        show: false,
        time: this.formatDate(event.detail),
      });
      // console.log(this.data.time)
    },

如图所示,时间是呈现区间状态,两个时间点:
在这里插入图片描述

每天学一点,慢慢进步,不要浮躁!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值