使用Vant Weapp的calendar日历组件,做指定日期禁止选择的功能

1、使用组件



<!-- 日历选择view -->
    <van-calendar show="{{ show }}" bind:close="onClose" bind:confirm="onConfirm" color="#07c160" 
    min-date="{{ minDate }}" max-date="{{ maxDate }}" 
    formatter="{{ formatter }}" />

、、================省略点击显示日历view组件===========、、

2、JS代码

    let disabledDays = ['2023-09-27', '2023-09-30',"2023-10-03"]
    // 禁用的日期,动态数据,一定要放在Page外面!
    Page({
        data: {

            roomId: 0,
            date: '',
            show: false,
            minDate: new Date().getTime(), // 今天
            maxDate: new Date().getTime() + 14 * 24 * 60 * 60 * 1000,
            formatter: (day) => {
                const year = day.date.getFullYear();
                const month = day.date.getMonth() + 1;
                const date = day.date.getDate();
                const dateString = `${year}-${month >= 10 ? month : '0' + month}-${date >= 
                10 ? date : '0' + date}`;
                if (disabledDays.includes(dateString)) {
                    day.type = 'disabled';
                }
                return day;
            },
        }
    });

3、注意

1、formatter函数一定是在data对象里面的!
2、禁用的日期,要动态,一定要写在page外面,写在data里面,formatter函数内部是获取不到的(用this也不行)

4、效果

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值