简体   繁体   English

在打开日期选择器的同时添加月份和年份转换器

[英]Add month and year changer while having date picker open

I am using react-datepicker as the package for date picker purposes ( https://www.npmjs.com/package/react-datepicker ).我将 react-datepicker 用作 package 用于日期选择器目的 ( https://www.npmjs.com/package/react-datepicker )。 Is there an option we could style the ends of the range picker.是否有一个选项可以让我们为范围选择器的末端设置样式。 Also I want the year and month picker as a part of calendar when it is opened.我还希望年月选择器在打开时作为日历的一部分。 Is this achievable?这是可以实现的吗?

Sandbox: https://codesandbox.io/s/date-picker-example-forked-ns0hbg?file=/src/index.js沙盒: https://codesandbox.io/s/date-picker-example-forked-ns0hbg?file=/src/index.js

import React, { useState } from "react";
import ReactDOM from "react-dom";
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";

const App = () => {
  const [startDate, setStartDate] = useState(new Date());
  const [endDate, setEndDate] = useState(null);

  const onChange = (dates) => {
    const [start, end] = dates;
    setStartDate(start);
    setEndDate(end);
  };

  return (
    <DatePicker
      selected={startDate}
      onChange={onChange}
      startDate={startDate}
      endDate={endDate}
      selectsRange
    />
  );
};

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

These are some props that you can to showMonthDropdown,useShortMonthInDropdown,showMonthYearDropdown,showYearDropdown in the DatePicker lib component.这些是您可以在 DatePicker lib 组件中显示月份下拉、使用 ShortMonthInDropdown、showMonthYearDropdown、showYearDropdown 的一些道具。 like

 <DatePicker
      selected={startDate}
      onChange={onChange}
      startDate={startDate}
      endDate={endDate}
      selectsRange
      showYearDropdown
    />

For more example you can visit this link that might be best for your senario.有关更多示例,您可以访问可能最适合您的 senario 的链接。 https://reactdatepicker.com/ https://reactdatepicker.com/

Please try this, I checked in the codesandbox link provided the code mentioned below is working fine.请试试这个,我检查了 codesandbox 链接,前提是下面提到的代码工作正常。

const onChange = (dates, e) => {
    const [start, end] = dates;
    setStartDate(start);
    setEndDate(end);
    e.stopPropagation();
  };

  return (
    <DatePicker
      format="yyyy-MM-dd"
      selected={startDate}
      minDate={new Date()}
      onChange={onChange}
      startDate={startDate}
      endDate={endDate}
      showMonthDropdown
      showYearDropdown
      scrollableYearDropdown
      yearDropdownItemNumber={50}
      dropdownMode="select"
    />
  );
};

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM