[youzan/vant]Calendar 设置 default-date 为null后,显示面版,默认值不是当前月

2024-04-01 42 views

回答

5

打开面板默认显示当前月的日历

6

已经修复了,可以升级最新版试下

1

版本:2.12.2 calendar 选择日期区间,default-date 传入 null,默认打开还是最小日期,而不是当前月

<van-calendar
    v-model="showDatePicker"
    type="range"
    :min-date="new Date(2010, 0, 1)"
    :max-date="new Date(2020, 0, 1)"
    :default-date="null"
/>

另外,如果最小日期和最大日期之间相隔很长(如几十年),现在是一次性渲染成百上千个dom,在手机上滑动时会非常卡,建议优化为滑动到某一年再插入此年的dom的方式。这个组件就是这样实现的 https://github.com/ikarosu/vue-datepicker-mobile ,在手机上卡顿不算明显。

9

现在就是按需渲染的。

可以调用 scrollToDate 方法

6

请问是需要升级到3.x版本吗?我在2.12.2版本设置的最小和最大日期是前后50年,然后组件一渲染就创建了1200个dom(<div class="van-calendar__month"></div>

感谢,已解决。

4

每个月份会创建一个占位 div,所以 50 年确实会出现卡顿的情况,不推荐使用这么长的跨度呢,对用户也不太友好