element-plus DateTimePicker日期选择器,限制指定日期和时间不可选择

这篇具有很好参考价值的文章主要介绍了element-plus DateTimePicker日期选择器,限制指定日期和时间不可选择。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

element-plus日期选择器,在指定日期时间前不可选择。
限制日期选择,使用disabled-date
限制小时选择,使用disabled-hours
限制分钟选择,使用disabled-minutes
限制毫秒选择,使用disabled-seconds

指定日期当天的时间有限制:
element-plus DateTimePicker日期选择器,限制指定日期和时间不可选择,Vue知识点,踩坑日记,javascript,vue.js,vue,前端
其他日期的时间无限制:
element-plus DateTimePicker日期选择器,限制指定日期和时间不可选择,Vue知识点,踩坑日记,javascript,vue.js,vue,前端

全部代码:

      <el-date-picker
          v-model="state.value"
          type="datetime"
          :default-time="new Date()"
          :disabled-date="disabledDateFn"
          :disabled-hours="disabledHours"
          :disabled-minutes="disabledMinutes"
          :disabled-seconds="disabledSeconds"
          value-format="YYYY-MM-DD HH:mm:ss"
          :placeholder="请选择" />
const state = reactibe({
   value:'',
  lastDate:'2023-10-27 12:20:30'
})

// 限制日期
const disabledDateFn = (date) => {
  if (date.getTime() < new Date(state.lastDate).getTime() - 8.64e7) {
    return true;
  }
  return false;
};

// 限制小时
const disabledHours = () => {
  const a = [];
  //选中的年月日
  const value = dayjs(state.value).format('YYYY-MM-DD');
  //指定日期的年月日
  const lastDate = dayjs(state.lastDate).format('YYYY-MM-DD');
  // 选中日期不等于指定日期,不限制
  if (value !==lastDate) {
    return;
  }
  
  for (let i = 0; i < 24; i++) {
    if (new Date(state.lastDate).getHours() > i) {
      a.push(i);
    }
  }
  return a;
};

// 限制分钟
const disabledMinutes = () => {
  const a = [];
  const value = dayjs(state.value).format('YYYY-MM-DD');
  const lastDate = dayjs(state.lastDate).format('YYYY-MM-DD');
   if (value !==lastDate) { {
    return;
  }
  for (let i = 0; i < 60; i++) {
    if (new Date(state.lastDate).getMinutes() > i) {
      a.push(i);
    }
  }
  return a;
};

// 限制毫秒
const disabledSeconds = () => {
  const a = [];
  const value = dayjs(state.value).format('YYYY-MM-DD');
  const lastDate = dayjs(state.lastDate).format('YYYY-MM-DD');
 if (value !==lastDate){
    return;
  }
  for (let i = 0; i < 60; i++) {
    if (new Date(state.lastDate).getSeconds() > i) {
      a.push(i);
    }
  }
  return a;
};

注意:选择面板上的日期后,v-model绑定的值就会更新,而不是点击确认按钮后!!!文章来源地址https://www.toymoban.com/news/detail-715128.html

到了这里,关于element-plus DateTimePicker日期选择器,限制指定日期和时间不可选择的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包