首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react-day-picker:在navbarElement中设置日期

react-day-picker:在navbarElement中设置日期
EN

Stack Overflow用户
提问于 2017-11-07 19:41:41
回答 2查看 917关注 0票数 1

我有一个使用react-day-picker组件的组件。我不想有一个可以分别增加或减少年份和月份的日期选择器。因此,我已经覆盖了navbarElement (如您在最后一行中所看到的)。在箭头函数handleNextYearClick中,年份应增加1。但是如何从父组件DayPicker访问和设置date。我只能调用onNextClick,它只会增加month+1。

代码语言:javascript
复制
export interface IDatePickerNavbarProps {
    date?: Date,
    nextMonth?: Date,
    previousMonth?: Date,
    localeUtils?: any,
    locale?: string,
    onNextClick?: () => {}
}

export interface IDatePickerNavbarState {

}

class DatePickerNavBar extends Component<IDatePickerNavbarProps, IDatePickerNavbarState> {

    constructor(props: IDatePickerNavbarProps) {
        super(props);
    }

    handleNextMonthClick = (event: React.MouseEvent<HTMLElement>) => {
        this.props.onNextClick();
    }

    handleNextYearClick = (event: React.MouseEvent<HTMLElement>) => {
        // How to set the new date => current date + 1 year
        // I am only able to call this.props.onNextClick() but that does 
        // +1 only month count
    }

    render() {
        return (
            <div className={Styles.DayPickerSelectBox}>
                <div className={Styles.DayPickerNavbarYear}>
                    year:
                    <span>last</span>  -  <span onClick={this.handleNextYearClick}>next</span>
                </div>
                <div className={Styles.DayPickerNavbarMonth}>
                    month:
                    <span>last</span>  -  <span onClick={this.handleNextMonthClick}>next</span>
                </div>
            </div>
        );
    }
}

..。这是我在主要日期选择器组件的render()方法中的代码...

代码语言:javascript
复制
<DayPicker navbarElement={<DatePickerNavBar />} captionElement={<DatePickerCaption />} />

不要因为打字符号而感到不安。

EN

回答 2

Stack Overflow用户

发布于 2017-11-16 07:00:19

可悲的是,当前月份它并未公开给navbarElement

http://react-day-picker.js.org/api/DayPicker#navbarElement

它有previousMonth tough :)

在下一个版本中将添加month属性:https://github.com/gpbl/react-day-picker/pull/552

代码语言:javascript
复制
navbarElement={
  (month) => <DatePickerNavBar currentMonth={month} />
}
票数 1
EN

Stack Overflow用户

发布于 2022-02-08 08:18:42

这里也有同样的问题。即使有了新的month属性,我仍然不能在导航栏中设置我想要的日期(比如year + 1)。将setMonth()属性注入到导航栏中可能是个好主意。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47157055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档