我想通过理想的输入disableDate(1,2,3,4,0)来 Select 日期灵活性,但它不起作用.你能帮我把这个弄好吗?

这就是功能.

const disableDate = (date) => {
  const day = date.day(); 
  return day === 1 || day === 2 || day === 3 || day === 4 || day === 0;
};

这就是传递函数的地方.

<LocalizationProvider dateAdapter={AdapterDayjs}
    adapterLocale="en-gb">
{/* dateAdapter={CustomAdapter} */}
    <StaticDatePicker
    displayStaticWrapperAs="desktop"
    openTo="day"
    value={value}
    **shouldDisableDate={disableDate}**
    minDate={minMonth}
    maxDate={maxMonth}
    // dayOfWeekFormatter={(day) => day.charAt(0).toUpperCase() + day.charAt(1) + days}
    dayOfWeekFormatter={(day) => `${day}`}
    onChange={(newValue) => {
        setValue(newValue);
    }}
    renderInput={(params) => <TextField {...params} />}/>
</LocalizationProvider>

我试着看看什么是最新的,它来自哪里,但它不是来自任何地方.此外,我还试图将一个数组传递给shouldDisableDate,但也不起作用.

date and typeof date enter image description here

推荐答案

您不能做disableDate(1, 2, 3, 4, 0),因为您需要将一个新函数赋给shouldDisableDate,这将需要您将日期传递给该函数.

因此,考虑到这一点,您可以从Component属性中获取日期(它作为第一个参数隐式传递),并将其用作disableDate中的第一个参数以及要判断的天数组/系列.为了清楚起见,我使用了array.

关于日期转换的注意事项--MUI似乎使用了date-io,这是一个跨越各种不同库的"抽象接口",包括本机JS日期构造函数.这意味着您可以将其作为参数传递给new Date,并使用原生日期方法来提取日期.

// Pass in the date, and an array of days to check
function disableDate(date, queryArr) {

  // Convert the date, and extract the day
  const day = new Date(date).getDay();

  // Return a true/false if the array includes the day
  return queryArr.includes(day);
};

在JSX

// Take the date from the function and pass it in as the
// first argument to `disableDate`, along with the array
shouldDisableDate={(date) => disableDate(date, [1, 2, 3, 4, 0])}

Javascript相关问答推荐

如何使用JavaScript用等效的功能性HTML替换标记URL格式?

传递一个大对象以在Express布局中呈现

Google Apps脚本中的discord邀请API响应的日期解析问题

Snowflake JavaScript存储过程返回成功,尽管预期失败

我可以从React中的出口从主布局调用一个处理程序函数吗?

Next.js(react)使用moment或不使用日期和时间格式

当运行d3示例代码时,没有显示任何内容

Chart.js-显示值应该在其中的引用区域

在HTML语言中调用外部JavaScript文件中的函数

创建以键值对为有效负载的Redux Reducer时,基于键的类型检测

如何在 Select 文本时停止Click事件?

为什么我的按钮没有从&q;1更改为&q;X&q;?

在表单集中保存更改时删除';禁用';

WebSocketException:远程方在未完成关闭握手的情况下关闭了WebSocket连接.&#三十九岁;

背景动画让网站摇摇欲坠

如何根据输入数量正确显示alert ?

在使用JavaScript以HTML格式显示Google Drive中的图像时遇到问题

如何在不将整个文件加载到内存的情况下,在Node.js中实现Unix粘贴命令?

暂停后只有一次旋转JS

递归地将JSON对象的内容上移一级