我正在尝试创建一个取决于参数的日历。如果用户想要周末通行证,我需要让他在一个月内只选择周五、周六、周日中的一组天。
:如果我选择今天购买周末通行证,我可以选择9月的10-12/09,17-19/09,24-26/09。
日历必须是无限的,以便每天更新。我已经创建了值date
,month
,year
来获取当前的完整日期,我将其解析为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]