有没有办法只启用某些日历选项?

Is there a way to enable only certain calendar options?

我正在尝试创建一个取决于参数的日历。如果用户想要周末通行证,我需要让他在一个月的时间段内只选择周五、周六、周日中的一组。

示例如果我选择今天 09/09/2021 购买周末通行证,我可以选择 10-12/09,17-19/09,24-26/09 九月。

日历必须是无限的才能每天更新。我创建了值 datemonthyear 以获取当前的完整日期,我将其解析为 minDate maxDate 以将选项限制为只有一个月。

代码:

render() {
        let newDate = new Date()
        let date = newDate.getDate();
        let month = newDate.getMonth();
        let year = newDate.getFullYear();
        let weeklyVignette = newDate.getDate();
        const {label, t, value = '', loading, error, width, height, displayOptions, locale, key, required, validateOnBlur,
            theme, name, proposed, disabled = false, onChange, minDateBeforeToday, setError, available=true,
            minDate = new Date(year, month, date),
            maxDate = new Date(year, month, date+30)} = this.props;
        const {selected} = this.state;
        const _locale ={...locale, ...{weekdays: locale.weekdays.map(day => t(day))}}

        const resultCalendar =
            this.state.open && !disabled
                ? <InfiniteCalendar
                    width={width}
                    height={height}
                    selected={value||selected||proposed}
                    displayOptions={displayOptions}
                    locale={_locale}
                    theme={theme}
                    minDate={minDate}
                    weeklyVignetteDays = { (weeklyVignette===4 && weeklyVignette===5 && weeklyVignette===6 )}
                    max = { new Date(year, month, date+30) } // Maximum month to render
                    min = { new Date(year, month, date) } // Minimum month to render
                    maxDate={maxDate}
                    onSelect={(e) => this.onClick(e, onChange)}
                />
                : null;

如何屏蔽当月除周五、周六和周日以外的所有日期?

有什么想法吗?

你应该使用 disabledDays

的 属性

例如禁用周一和周日:[0, 6]

在你的情况下你应该使用:disabledDays = [0,1,2,3]