简体   繁体   English

使用 React DayPicker 获取特定一周的日期数组

[英]Getting array of dates for a specific week with React DayPicker

I would like to be able to click a specific week number in the react DayPicker and have an array of all dates contained in that week returned to me.我希望能够单击反应 DayPicker 中的特定周数,并将该周包含的所有日期的数组返回给我。

I am using this DayPicker package: https://react-day-picker.js.org/我正在使用这个 DayPicker 包: https ://react-day-picker.js.org/

I have copied the example code from react dayPicker to allow me to click a specific week in a month: https://react-day-picker.js.org/basics/customization我已经从 react dayPicker 复制了示例代码,以允许我单击一个月中的特定周: https ://react-day-picker.js.org/basics/customization

import { useState } from 'react'
import { DayPicker } from 'react-day-picker'

export const WeekPicker = () => {

  const [weekNumber, setWeekNumber] = useState()
  const footer = weekNumber
    ? `You clicked the week n. ${weekNumber}.`
    : 'Try clicking a week number.'

  

  return (
    <DayPicker
      showWeekNumber
      onWeekNumberClick={setWeekNumber}
      footer={footer}
    />
  )
}

I can see in the EventHandlers.d.ts file there is a WeekNumberClickEventHandler with the variable called dates however I am only able to access the weekNumber variable我可以在 EventHandlers.d.ts 文件中看到一个 WeekNumberClickEventHandler 变量名为 dates 但是我只能访问 weekNumber 变量

/**The event handler when the week number is clicked. */
export declare type WeekNumberClickEventHandler = (
/** The week number that has been clicked. */
weekNumber: number, 
/** The dates in the clicked week. */
dates: Date[], 
/** The mouse event that triggered this event. */
e: React.MouseEvent) => void;

Any help would be appreciated.任何帮助,将不胜感激。 I am coding in JS but I realise the DayPicker package is written in TS.我正在用 JS 编码,但我意识到 DayPicker 包是用 TS 编写的。

dates is the second argument in your callback日期是回调中的第二个参数

import { useState } from 'react'
import { DayPicker } from 'react-day-picker'

export const WeekPicker = () => {

  const [weekNumber, setWeekNumber] = useState()
  const footer = weekNumber
    ? `You clicked the week n. ${weekNumber}.`
    : 'Try clicking a week number.'

  

  return (
    <DayPicker
      showWeekNumber
      onWeekNumberClick={(weekNumber, dates) => {
        setWeekNumber(weekNumber);
        console.log(dates)
      }}
      footer={footer}
    />
  )
}

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

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