【问题标题】:Reactjs DayPickerInput disabled daysReactjs DayPickerInput 禁用天数
【发布时间】:2018-10-11 20:05:00
【问题描述】:

我有一个来自 react-day-picker 插件的 DayPickerInput 元素,我不知道如何从当天开始禁用一个月(31 天)后的所有天。有什么帮助吗?

谢谢。

【问题讨论】:

    标签: reactjs react-day-picker


    【解决方案1】:

    文档可能更清晰。这应该为你做:

    <DayPickerInput
        value={moment(minDate).format('YYYY-MM-DD')}
        dayPickerProps={{
            disabledDays: {
                after: new Date(2018, 3, 20),
            },
        }}
        onDayChange={day => console.log(day)}
    />
    

    用你的日期替换新的 Date(y, m, d)。

    [根据我的评论编辑]

    如果您真的想在一个月的第一天加上 31 天,则并非所有月份都是 31 天:

    来源:Add day(s) to a Date object

    var myDate = new Date();
    myDate.setDate(myDate.getDate() + AddDaysHere);
    

    “AddDaysHere”应该是 31。

    如果您只是想确保无法选择下个月的日期,您可以:

    // There is probably a billion better ways to get the next available month, this is just basic
    let currentMonth = 2;
    let nextMonth = currentMonth + 1;
    if (nextMonth > 11) { nextMonth = 0;} // I believe javascript months start at 0.
    
    Date(2018, nextMonth, 1)
    

    编码愉快!

    【讨论】:

    • 您可以使用不带参数的new Date() 从客户端系统时钟和客户端时区获取当前时间。
    • @Nick DuBois 感谢您的回复,我还检查了文档,但我的问题是我不知道如何动态计算“之后”语句的日期,假设禁用 30 天后的所有日期从当天开始。
    • 非常感谢 - 我一直在努力解决这个问题,并且不知道道具不会从 daypickerinput 进一步填充到 daypicker - 他们真的应该更新他们的文档
    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 2017-05-10
    • 1970-01-01
    相关资源
    最近更新 更多