reactjs - MUI 日期选择器:禁用一个月内的特定日期列表
问题描述
我需要禁用特定日期列表(整个 10 月,除了 4 日、5 日、6 日、7 日、8 日、9 日、10 日和 18 日)。我知道这可以实现,shouldDisableDate
但我不清楚它的文档。
这是我的代码:
import React, { useState } from 'react'
import DateMomentUtils from '@date-io/moment'
import { KeyboardDatePicker, MuiPickersUtilsProvider } from '@material-ui/pickers'
import { Controller, useFormContext } from 'react-hook-form'
const startDate = new Date('October 4, 2021 12:00:00')
const endDate = new Date('October 18, 2021 12:00:00')
const disableDates = () => {
const date1 = Date('October 10, 2021 12:00:00')
return date1
}
const CalendarInput = () => {
const { control } = useFormContext()
const [selectedDate, handleDateChange] = useState(new Date())
return (
<MuiPickersUtilsProvider utils={DateMomentUtils}>
<Controller
name='MUIPicker'
control={control}
render={({ field: { ref, ...rest } }) => (
<KeyboardDatePicker
variant='static'
orientation='landscape'
id='date-picker-dialog'
label='Pick a date'
format='MM/MM/YYYY'
KeyboardButtonProps={{
'aria-label': 'change date'
}}
value={selectedDate}
onChange={handleDateChange}
shouldDisableDate={disableDates}
maxDate={endDate}
minDate={startDate}
{...rest}
/>
)}
/>
</MuiPickersUtilsProvider>
)
}
有人可以指出我正确的方向吗?
解决方案
这是我解决它的方法:
const disableDates = (date) => {
return moment(date).format('DD') > 10 && moment(date).format('DD') < 18 }
推荐阅读
- sas - SAS 宏变量解决数据步中的问题
- firebase - Flutter StreamBuilder 返回 null
- office365 - 在没有频道分配的会议中,Microsoft Teams 中的文件在哪里结束?
- javascript - Google Maps API Javascript,从页面上的表单输入中获取经度纬度
- java - 在应用程序上设置 OnClick 侦听器:搜索图标 android
- azure - 验证 Azure AD JWT 访问令牌时出错
- reactjs - 为什么我会收到有关重载调用的错误消息?
- spring-boot - 带有 SpringBoot 的 Marklogic
- cpu - 中断如何与 USB 分配器一起工作?
- r - envfit 结果是如何创建的?