【问题标题】:KeyboardDatePicker @material-ui/pickers how to show days outside of monthKeyboardDatePicker @material-ui/pickers 如何显示月外的日子
【发布时间】:2021-07-27 13:34:47
【问题描述】:

如何在保持选择逻辑的同时添加月外的所有日期

now

i want

如果我给 TextField type='date',则显示所有日期,但我的所有样式都会丢失。

我的组件

 <MuiPickersUtilsProvider utils={MomentUtils} libInstance={momentLib}>
  <DefaultKeyboardDatePicker
    open={open}
    value={value ?? null}
    onChange={onChange}
    disableIcon={disableIcon}
    helperText={typeof userError === 'string' ? userError : errorNode || helperText}
    error={!!userError || !!errorNode}
    onClose={onClose}
    renderDays={renderDay ? renderDays : void 0}
    TextFieldComponent={TextField}
    InputProps={{
      inputRef,
      inputProps: readOnly
        ? { readOnly: true, className: classes.readonly, onClick: onOpen, 'id-qa': idqa }
        : { 'id-qa': idqa },
    }}
    InputAdornmentProps={{ onClick: onOpen }}
    PopoverProps={{ anchorEl: inputRef.current }}
    }}
    {...props}
  />
</MuiPickersUtilsProvider>

我尝试传递所有道具和覆盖样式,但没有任何效果。我可以保留所有样式吗

    const WrapperTextField = () => <TextField {...props} type="date" className={clsx('MuiPickersDay-day')} />;
 ...
 TextFieldComponent={WrapperTextField}

浪费了很多时间。奇怪的是,在这样的库中没有标志来显示所有数字并使用它们。

感谢您的帮助!

【问题讨论】:

    标签: reactjs datepicker material-ui


    【解决方案1】:

    您需要编写自定义 renderDay 函数才能显示当前月份的日期。这是文档中此函数的the example。为了能够选择那些日子,您需要更进一步并在 renderDay 函数中覆盖 IconButton onClick。例如代码看看this问题。正如我所见,没有简单的方法。

    【讨论】:

    • 感谢您的快速回复!我看到了所有这些链接,并认为有一种方法可以覆盖隐藏所有日期的 material-ui MuiPickersDay-hidden 样式。一般来说,我需要显示月底之后的日期,留下选择月底之后的日期的选项。我认为有一种方法可以让它变得更容易。
    • 正如我在 v4.0.0-alpha.4 版本中看到的,有 showDaysOutsideCurrentMonth 道具。它可以帮助你。并且在具有相同道具的下一个材料 ui 中有日期选择器(选择器移至主库)。
    猜你喜欢
    • 2020-06-21
    • 1970-01-01
    • 2020-12-09
    • 2023-03-06
    • 2019-09-08
    • 2022-07-31
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    相关资源
    最近更新 更多