Bootstrap daterangepicker 位置及双日历单独选择

初次使用bootstrap的双日历时间控件,感受是总觉得有bug,日历的选择默认有双联动,不太符合国人的选择习惯,通常的做法是单独选择,可以不分先后顺序选择起止时间。感觉这个问题不解决,用户体验下降很多,都有点想放弃的感觉,由于找不到合适的关键字来百度这个问题,于是看官方文档和demo,无意间看到了linkedCalendars 属性。柳暗花明,大概知道作用了,试了下果然生效了,开心。

另外一个问题是显示的位置:"opens": "center",刚开始以为是整个控件的位置靠坐,靠右等,当需要在屏幕右边显示时,设置了"opens": "right" ,可是变成了下面图示:

途中的小折线不是弹出图标的指示位置,又试了下"opens": "left", 问题解决,所以这个left 是设置折线的效果,如下图所示。

以上就是初体验的感觉,用起来还是很爽的!完

要实现`el-date-picker`组件的禁选时间动态更新,您可以使用`watch`属性监听开始时间的变化,并在其中更新禁选日期的逻辑。以下是一个示例代码: ```html <template> <el-date-picker v-model="dateRange" type="daterange" :picker-options="pickerOptions" ></el-date-picker> </template> <script> export default { data() { return { dateRange: [], // 选择的日期范围 pickerOptions: { disabledDate(time) { // 在这里编写禁用日期的逻辑 // 如果要禁用特定日期,可以通过比较年、月、日等来判断 // 返回 true 表示禁用该日期,返回 false 表示启用该日期 // 示例:禁用开始时间之前的日期和结束时间之后的日期 const startDate = new Date(this.dateRange[0]); const endDate = new Date(this.dateRange[1]); return ( time < this.getDisabledStartDate(startDate) || time > this.getDisabledEndDate(endDate) ); }, }, }; }, watch: { dateRange(newVal) { // 在这里更新禁选日期的逻辑 // 可以根据需要重新计算禁选日期的范围并更新到pickerOptions中 }, }, methods: { getDisabledStartDate(startDate) { // 返回禁选的开始日期 // 示例:禁用开始时间之前一个月的日期 return new Date(startDate.getFullYear(), startDate.getMonth() - 1, startDate.getDate()); }, getDisabledEndDate(endDate) { // 返回禁选的结束日期 // 示例:禁用结束时间之后一个月的日期 return new Date(endDate.getFullYear(), endDate.getMonth() + 1, endDate.getDate()); }, }, }; </script> ``` 在上面的示例中,我们使用`watch`属性监听`dateRange`的变化,每当选择的日期范围发生变化时,`watch`中的回调函数会被触发。在该回调函数中,您可以根据新的开始时间和结束时间重新计算禁选日期的范围,并将更新后的禁选日期逻辑更新到`pickerOptions`对象中的`disabledDate`函数中。 在`disabledDate`函数中,我们示范了禁用开始时间之前一个月的日期和禁用结束时间之后一个月的日期。您可以根据需求编写具体的逻辑来禁用特定的日期范围。 希望这个解决方案对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值