当前位置: 首页 > 知识库问答 >
问题:

React Datepicker-添加上一年和下一年按钮

邬浩涆
2023-03-14

我正在使用react datepicker进行一个需要用户确切出生日期的项目。此实例中必须使用日期选择器,因此下拉列表在此处不起作用。

问题是一次只能跳过几个月的按钮。如果用户选择一个20年前的日期,他们将不得不点击它240次,这不是很好的用户体验。我在库文档中没有找到任何关于添加此选项的内容。我发现的最接近的是日期选择器中月份和年度的下拉列表——没有那么优雅。

我怎样才能像下面的实物模型一样添加按钮?

请注意,添加了双箭头以一次跳过一年。

共有1个答案

刁文光
2023-03-14

通过调整文档中的customHeader示例找到了解决方案。仍然需要调整,如禁用超出范围的按钮,设计按钮等,但认为它在当前状态下可能有用。

const years = range(1990, new Date().getFullYear());
const months = [
  "January",
  "February",
  "March",
  "April",
  "May",
  "June",
  "July",
  "August",
  "September",
  "October",
  "November",
  "December"
];

/* then adding this prop to your already-configured datepicker */

renderCustomHeader={({
  date,
  changeYear,
  changeMonth,
  decreaseMonth,
  increaseMonth,
  prevMonthButtonDisabled,
  nextMonthButtonDisabled,
  prevYearButtonDisabled,
  nextYearButtonDisabled,
  increaseYear,
  decreaseYear
}) => (
  <div
    style={{
      margin: 10,
      display: "flex",
      justifyContent: "center"
    }}
  >
    <button onClick={decreaseYear} disabled={prevYearButtonDisabled}>
    {"<<"}
    </button>
    <button onClick={decreaseMonth} disabled={prevMonthButtonDisabled}>
    {"<"}
    </button>
    <p>{months[date.getMonth()]} {date.getFullYear()}</p>

    <button onClick={increaseMonth} disabled={nextMonthButtonDisabled}>
    {">"}
    </button>
    <button onClick={increaseYear} disabled={nextYearButtonDisabled}>
    {">>"}
    </button>
  </div>
)}
 类似资料:
  • 如何根据当前月份和年份获取明年的周期,例如: 2014年1月-2014年12月 2014年2月-2015年1月 2014年3月-2015年2月 2014年4月-2015年3月 五月2014-四月2015 2014年6月-2015年5月 2014年7月-2015年6月 八月2014-七月2015 2014年9月-2015年8月 十月2014-九月2015 十一月2014-十月2015 2014年12

  • 本文向大家介绍在JavaScript中寻找下一个leap年,包括了在JavaScript中寻找下一个leap年的使用技巧和注意事项,需要的朋友参考一下 我们需要编写一个函数,该函数需要一个正整数n并返回下一个n个leap年的数组。我们将把这个问题分为三个部分- 第1部分:通过JS查找当前年份 通过JS查找当前年份的代码将是- 第2部分:检查leap年 现在,我们将编写一个isLeap()函数,该函

  • 问题内容: 我在代码中使用了SimpleDateFormat(“ dd-MMM-YYYY”),输出错误。 上面的代码给出了: 实际日期:星期二十二月30 13:51:06 IST 2014格式化后:30-Dec-2015 上面的代码是打印日期,年份提前一年。并且此问题仅可在2014年12月28日至31日之间复制。 提前致谢。-阿杰 问题答案: 您正在使用,这是“ ISO-8601周年”。几乎应 始

  • 问题内容: 给定一个在每行上都带有时间戳的表,您将如何格式化查询以适合此特定的json对象格式。 我正在尝试将json对象组织成年/月。 json以查询为基础: 这是我到目前为止的查询- 该查询正在分解,因为它(可预测地)将不同年份组合在一起。 问题答案: 是你想要的。

  • 问题内容: 我的表格显示了各个国家/地区进行的搜索量以及进行搜索的日期,我想要一个查询来向我显示2012年和2013年每个月的搜索量,我需要为月份添加单独的列,年份和搜索次数。我以前使用过下面的查询,该查询返回每周进行的搜索量,但我想将其更改为仅2012和2013年每月进行的搜索。 问题答案: 只需使用MONTH()和YEAR()函数

  • 问题内容: 我对Heap,Young,Tenured和Perm一代感到困惑。 谁能解释一下? 问题答案: Java垃圾收集器被称为分 代垃圾收集器 。应用程序中的对象生存的时间长短不一,具体取决于它们的创建位置和使用方式。此处的主要见解在于,针对短期和长期对象使用不同的垃圾回收策略,可以针对每种情况专门优化GC。 松散地说,当对象在新 世代中 “生存”重复的垃圾回收时,它们将迁移到 终身代 。该