反应日期响应daterangepicker
react-dates responsive daterangepicker
我在我的一个项目中使用了 Airbnb 的 react-dates 插件。我正在使用像这样的 daterangepicker 默认日历道具 http://airbnb.io/react-dates/?path=/story/drp-calendar-props--default. But this is not responsive in smaller devices from tab to mobile. I want to make some changes here in the tab and mobile view like it would appear as a vertical calendar as this http://airbnb.io/react-dates/?path=/story/drp-calendar-props--vertical。我想使用文档中给定的道具来实现这一点,并使用媒体查询对 CSS 进行更改。
到目前为止,这是我的实现:
<DateRangePicker
startDate={startDate}
startDateId="startDate"
endDate={endDate}
endDateId="startDate"
customInputIcon={customInputIcon}
onDatesChange={this.onDatesChange}
focusedInput={focusedInput}
onFocusChange={this.onFocusChange}
hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}
appendToBody={true}
navPrev={navPrev}
navNext={navNext}
isOutsideRange={this.isOutsideRange}
/>
看起来像这样
我想在选项卡和移动设备中实现这样的视图
但不确定这种响应性情况下如何实现。
您可以通过添加 orientation
prop
来实现
要根据响应速度区分它,您可以这样做
const orientation = window.matchMedia("(max-width: 700px)").matches ? 'vertical' : 'horizontal'
<DateRangePickerWrapper orientation={orientation} autoFocus />
我在我的一个项目中使用了 Airbnb 的 react-dates 插件。我正在使用像这样的 daterangepicker 默认日历道具 http://airbnb.io/react-dates/?path=/story/drp-calendar-props--default. But this is not responsive in smaller devices from tab to mobile. I want to make some changes here in the tab and mobile view like it would appear as a vertical calendar as this http://airbnb.io/react-dates/?path=/story/drp-calendar-props--vertical。我想使用文档中给定的道具来实现这一点,并使用媒体查询对 CSS 进行更改。 到目前为止,这是我的实现:
<DateRangePicker
startDate={startDate}
startDateId="startDate"
endDate={endDate}
endDateId="startDate"
customInputIcon={customInputIcon}
onDatesChange={this.onDatesChange}
focusedInput={focusedInput}
onFocusChange={this.onFocusChange}
hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}
appendToBody={true}
navPrev={navPrev}
navNext={navNext}
isOutsideRange={this.isOutsideRange}
/>
看起来像这样
但不确定这种响应性情况下如何实现。
您可以通过添加 orientation
prop
要根据响应速度区分它,您可以这样做
const orientation = window.matchMedia("(max-width: 700px)").matches ? 'vertical' : 'horizontal'
<DateRangePickerWrapper orientation={orientation} autoFocus />