Antd在Table使用Datepicker的disabledDate禁选的日期不同?

codesandbox问题复现:https://codesandbox.io/s/antd...

第一行可以只能选今天及今天以后,第二行却可以选到昨天,这是为什么?

阅读 2.4k
1 个回答
✓ 已被采纳新手上路,请多包涵

大概知道为什么了
这里now.subtract(1, "day")是当前时间减少一天,这里的对比也包括了选择的具体小时分钟的对比,因此如果选择的时分在今天之前,那么这里的判断就是昨天也是可选,晚于今天时分的昨天就不可选
因此disabledDate的函数从

function disabledDate(current) {
  const now = moment();
  return (
    current &&
    (current < now.subtract(1, "day") || current > now.add(6, "months"))
  );
}

改为

function disabledDate(current) {
  const now = moment();
  return (
    current &&
    (current < now.startOf('day) || current > now.add(6, "months"))
  );
}

就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题