iview 日期时间选择器动态限制可选范围

本文介绍了如何在iview中使用日期时间选择器动态限制可选范围,通过设置`disabledDate`实现从当前时间-30天到+30天的选择限制,并展示了相关代码示例和修改后的eslint规范。同时,提供了遇到的问题及解决方案,帮助开发者解决类似问题。

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

iview 日期时间选择器动态限制可选范围

引用:原作者地址

原作者地址效果图:
在这里插入图片描述
在这里插入图片描述

因为本身自己的代码使用了 eslint 插件,因此在原来的基础上又规范了一下。

	<date-picker type="datetimerange"
	             ref="date"
	             format="yyyy-MM-dd HH:mm:ss"
	             placeholder="选择日期"
	             :options="dateOption"
	             @click.native="nativeClick"  >
	</date-picker>

注:

  • 如果需要绑定其他数据的吧,可以使用v-model,这样可以获取到数据,进而可以使用echarts组件等等进行图表展示。

  • 如果想要绑定change事件, 则可以使用 @on-change

	data () {
		dateOption: {},
	}
	methods:{
	 nativeDateClick() {
      const target = (this.$refs.date).$refs.pickerPanel;
      const { from, to } = target.rangeState;
      target.handlePickClick = (() => {
        const selecting = target.rangeState;
        const from1 = target.rangeState.from;
        if (from1 && selecting) {
          this.dateOption = {
            disabledDate(value) {
              return disabledDate_start_end_native(value, from1);
            },
          };
        }
      });
      if (from && !to) {
        this.dateOption = {
          disabledDate(value) {
            return disabledDate_start_end_native(value, from);
          },
        };
      } else {
        this.dateOption = {
          disabledDate(value) {
            return value && (value.valueOf() > Date.now() - 86400000);
          },
        };
      }
    },
 }
// 动态限制日期时间选择器的可选范围
function disabledDate_start_end_native(value, from) {
  const startTime = new Date(from);
  const endTime = new Date(from);
  startTime.setDate(from.getDate() - 30);
  endTime.setDate(from.getDate() + 30);
  return !(value >= startTime && value <= endTime) || (value && (value.valueOf() > Date.now() - 86400000));
}

bug记录,也希望可以帮助到大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值