جدول پراپ های پیشفرض

پراپحالتتوضیحات
positionStringcurrent position of the plugin
nodesObjectto determine if there is another plugin around the current plugin
CalendarHTML Div Element
DatePickerHTML Div Element
calendarPropsObject
datePickerPropsObject
stateObjectthe state of the calendar
setStateFunction
registerListenerFunction
handleChangeFunctionif you want to trigger a change event
handlePropsChangeFunctionif you want to trigger a props change event
handleFocusedDateFunctionif you want to trigger a focus change event

Calendar و DatePicker

حاوی عناصر HTML تقویم و datepicker است ، هر یک از آنها به طور جداگانه در ref خود ذخیره می شوند.

به عنوان مثال ، باتوجه به اینکه فانکشن closeCalendar در ref دیت پیکر قرار دارد. می توانید در پلاگین خود، از آن برای بستن تقویم استفاده کنید.

فقط توجه داشته باشید که اگر کاربر به جای DatePicker از افزونه شما در Calendar استفاده کند ، مقادیر DatePicker و datePickerProps تعریف نشده می شوند.

import React from "react";
import DatePicker from "react-multi-date-picker";

function MyPlugin({ DatePicker }) {
  return (
    <div>
      <button
        style={{ margin: "5px" }}
        disabled={!DatePicker}
        onClick={() => DatePicker.closeCalendar()}
      >
        Close
      </button>
    </div>
  );
}

export default function Example() {
  return (
    <DatePicker 
      plugins={[
        <MyPlugin position="bottom" />
      ]} 
    />
  )
}

calendarProps و datePickerProps

نکته ای که در مورد این دو ویژگی وجود دارد این است که مقدار datePickerProps همیشه بر مقدار CalendarProps اولویت دارد. زیرا DatePicker برخی از پراپرتی های تقویم را تغییر می دهد.

برای تعیین اینکه آیا شما باید از CalendarProps استفاده کنید یا datePickerProps ، بهتر است مثال زیر را دنبال کنید:

function MyPlugin({ datePickerProps, calendarProps }) {
  const props = datePickerProps || calendarProps

  ...
}

پراپرتی State

آبجکتی که حاوی داده های مورد نیاز تقویم است.

خصوصیات این object در جدول زیر نوشته شده است.

توجه داشته باشید که type هیچکدام از این پراپرتی ها نباید تغییر کند.

پراپرتیحالتتوضیحات
dateDateObject

The date displayed by the calendar

selectedDateDateObject or DateObject[]

user-selected date(s)

multipleBoolean

Specifies whether it is in multiple or range mode.

If you want to change the value of any of these properties to true, you must change the value of the selectedDate from DateObject to DateObject[].

rangeBoolean
onlyMonthPickerBoolean
onlyYearPickerBoolean
initialValue-
value-
focusedDateObject or undefined

the date that is focused by the user

calendarObject Calendar
localeObject Locale
formatString
yearNumber
todayDateObject

changing this value interferes with calendar performance