You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3 Options API:如何正确设置Date-picker的:max以限制未来日期

Vue3 Options API 中设置Date-Picker的max属性问题解决

直接给date类型的input绑定:max="new Date()"不生效,是因为原生input[type="date"]的max属性要求传入**YYYY-MM-DD格式的字符串**,而new Date()返回的是带时区和时间的完整日期对象,转换后不符合格式要求,所以无法限制选择未来日期。

解决步骤如下:

  1. 在组件的data中定义存储最大日期的变量:
export default {
  data() {
    return {
      maxDate: ''
    }
  },
  // ...
}
  1. 在mounted钩子中格式化今天的日期为YYYY-MM-DD格式,赋值给maxDate:
mounted() {
  const today = new Date();
  // 年取四位,月和日补前导零确保两位格式
  const year = today.getFullYear();
  const month = String(today.getMonth() + 1).padStart(2, '0');
  const day = String(today.getDate()).padStart(2, '0');
  this.maxDate = `${year}-${month}-${day}`;
}
  1. 在模板中给date-picker绑定max属性:
<input type="date" :max="maxDate" />

如果你的date-picker是第三方UI组件,部分组件支持直接传入Date对象,但如果遇到不生效的情况,同样可以用上述格式化字符串的方式传入,确保符合组件要求的格式。

内容的提问来源于stack exchange,提问作者Amrmsmb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 11:19:56