@ atefbena/ react- date- rang
伟大的叉子 react-date-range 软件包
用于选择日期和日期范围的日期库不可知反应组件 。 用途 日期 - fns 日期操作.
为什么要用 @atefbena/react-date-range? 吗?
- 无国籍日期业务
- 高度可配置
- 多范围选择
- 根据当地js日期
- 拖放选择
- 键盘友好
现场直播: http://hypeserver.github.io/反应-日期-距离
开始
安装
yarn add @atefbena/react-date-range
此插件预期 react 财务报告和审定财务报表 date-fns 作为对等的依赖, 这意味着您需要在您的工程文件夹中安装它们 .
yarn add react date-fns
使用量
您需要先导入骨架和主题样式 .
import '@atefbena/react-date-range/dist/styles.css'; // main style file
import '@atefbena/react-date-range/dist/theme/default.css'; // theme css file
DatePicker
import { Calendar } from '@atefbena/react-date-range';
function MyComponent() {
function handleSelect(date) {
console.log(date); // native Date object
}
return (
<Calendar
date={new Date()}
onChange={handleSelect}
/>
);
}
DateRangePicker / DateRange
import { DateRangePicker } from '@atefbena/react-date-range';
function MyComponent() {
function handleSelect(ranges) {
console.log(ranges);
// {
// selection: {
// startDate: [native Date Object],
// endDate: [native Date Object],
// label: [string] // selected range label
// }
// }
}
const selectionRange = {
startDate: new Date(),
endDate: new Date(),
key: 'selection',
}
return (
<DateRangePicker
ranges={[selectionRange]}
onChange={handleSelect}
/>
)
}
选项
| 财产 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| 语言 | 对象 | 来自本地的 enUS | 您可以从 这里。直接导出自 date-fns/locales。 。 。 . |
| 类Name | 字符串 | 包装类名 | |
| 月数 | 数目 | 1个 | 每月计数 |
| 显示选择 预览 | 布尔 | 真实 | 在有重点/覆盖的日期显示预览 |
| 显示月与年 | 布尔 | 真实 | 在日历顶部显示月和年的选中标记, 如果错误的话, 它只会显示月和年 |
| 颜色 | 字符串 [] | 定义选择预览的颜色. | |
| 显示日期 | 日期 | 初始重点日期 | |
| 约会 | 日期 | 定义最小日期。 已禁用较早的日期 | |
| 最大日期 | 日期 | 定义最长日期。 已禁用日期 | |
| 方向 | 字符串 | "纵向" | 日历月方向。 可能会是 vertical 或者说 horizontal |
| 禁用数据 | 日期[] | [ | 已禁用的日期 |
| 禁用日 | 种子 | 禁用 day fn( 日期: 日期) | |
| 滚动 | 对象 | {已启用: 假} | 无限滚动行为配置。 检查出来 无限滚动 节 |
| 显示月线箭头 | 布尔 | 真实 | 显示/隐藏月箭头按钮 |
| 导航器 | 种子 | 聚焦日期导航区的渲染器。 fn(当前FocusedDate:日期,变化显示 Date: func,道具:对象) | |
| 范围 | 目标 | [ | 定义范围。 范围对象数组 |
| 移动 Range 首选( 日期) | 布尔 | 虚假 | 启动时移动范围 Date 选择 。 否则,结束日期将替换为起始日期,除非 retainEndDateOnFirstSelection 被设定为真实. |
| 保留 EndDate 在第一次选中( 日期) | 布尔 | 虚假 | 保留起始日期变更时的结束日期,除非起始日期晚于结束日期. 如果 moveRangeOnFirstSelection 被设定为真实. |
| 变化( Calendar) | 种子 | 日期更改的回调函数。 fn( 日期: 日期) | |
| 变化( 日期) | 种子 | 区域变化的回调函数。 fn(变化)。 更改包含带有新内容的已更改区域 startDate编号 :endDate 属性. | |
| 颜色( 日历) | 字符串 | #3d91ff | 定义日历中选定日期的颜色 |
| 日期( 日历) | 日期 | 日历的日期值 | |
| 显示 DateDisplay( 日期) | 布尔 | 真实 | 显示/隐藏选择的显示行。 用途 dateDisplayFormat 用于主题 |
| 在ShownDateChange(日期、卡伦达尔)上 | 函数 | 当显示日期更改时调用回调函数 | |
| 初始指定区域( 日期) | 对象 | 焦距初始值. 见 focusedRange 用于使用. | |
| 焦距( 日期) | 对象 | 它定义了哪个范围和步骤是焦点. 常见的初始值是 [0, 0];第一个值是范围索引,第二个值是日期范围(起始日期或结束日期)的哪个步骤. | |
| 位于 RangFocusChange( 日期距离) 上 | 对象 | 焦点更改的召回功能 | |
| 预览( 日期范围) | 对象 | 显示预览范围并覆盖 Date Range 的默认预览。 预期形状 : { startDate: Date, endDate: Date, color: String } | |
| 显示审查( 日期范围) | 嘘 | 真实 | 预览的能见度 |
| 可编辑数据输入( Calendar) | 嘘 | 虚假 | 是否可以在日历输入字段中编辑日期 |
| 拖曳选择可启用( Calendar) | 嘘 | 真实 | 是否可以通过拖放 n 来选择日期 |
| 日历焦点( Calendar) | 字符串 | 前进 | 日历焦点月应该是由前向驱动还是由后向驱动. 可以是“ 前向” 或“后向” |
| 防止SnapRe焦点( 日历) | 嘘 | 虚假 | 防止对所显示范围重新确定对选择的无意关注 |
| 预览变化( 日期) | 对象 | 预览更改的召回功能 | |
| 日期列表格式 | 字符串 | MMM d, yyyy | 选定区域预览。 检查出来 date-fns 格式选项 |
| 日记格式 | 字符串 | d | 选定区域预览。 检查出来 date-fns 格式选项 |
| 工作日播放格式 | 字符串 | E | 选定区域预览。 检查出来 date-fns 格式选项 |
| 月播放格式 | 字符串 | MMM yyyy | 选定区域预览。 检查出来 date-fns 格式选项 |
| 每周启动 | 数目 | 是否来自该地块的周起日将被覆盖 。 默认值来自您的地语, 如果没有指定地语, 请注意默认地语是 enUS | |
| 启动 Date 定位符 | 字符串 | Early | 开始日期占位符 |
| 日期定位符 | 字符串 | Continuous | 结束日期占位符 |
| 固定高度 | 布尔 | 虚假 | 由于有些月份需要不到6行显示,通过设置这个道具,可以强制6行所有月份. |
渲染出自流标( S)DefinedRange(中文(简体) ) | 函数 | 为静态范围配置触发的召回功能 hasCustomRendering: true 在他们身上。 而非渲染 staticRange.label中,此调用值将返回. | |
静态区域( R)DefinedRange, (中文(简体) ), DateRangePicker(中文(简体) ) | 阵列 | 默认定义区域 | - 说吧 |
输入区域( R)DefinedRange, (中文(简体) ), DateRangePicker(中文(简体) ) | 阵列 | 默认输入范围 | - 说吧 |
| 离子标签 | 对象 | {} | 在内部元素中插入 aria- 标签 |
| 每日管理员 | 函数 | 无效 | 用于自定义日历日的渲染功能。 给定的日期应该返回要渲染的内容 . |
* 范围形状:
{
startDate: PropTypes.object,
endDate: PropTypes.object,
color: PropTypes.string,
key: PropTypes.string,
autoFocus: PropTypes.bool,
disabled: PropTypes.bool,
showDateDisplay: PropTypes.bool,
}
** 等离子层:
{
// The key of dateInput should be same as key in range.
dateInput: PropTypes.objectOf(
PropTypes.shape({
startDate: PropTypes.string,
endDate: PropTypes.string
})
),
monthPicker: PropTypes.string,
yearPicker: PropTypes.string,
prevButton: PropTypes.string,
nextButton: PropTypes.string,
}
无限滚动模式
启用无限滚动集 scroll={{enabled: true}} 基本来说 无限滚动特性受到以下因素的影响: direction(几个月后服从指示)和 months(数出数月) 道具直接.
如果您喜欢, 您可以覆盖日历大小 calendarWidth编号 :calendarHeight 或每个月的高度/宽度 monthWidth编号 :monthHeight编号 :longMonthHeight 时间 scroll 道具 (英语).
// shape of scroll prop
scroll: {
enabled: PropTypes.bool,
monthHeight: PropTypes.number,
longMonthHeight: PropTypes.number, // some months has 1 more row than others
monthWidth: PropTypes.number, // just used when direction="horizontal"
calendarWidth: PropTypes.number, // defaults monthWidth * months
calendarHeight: PropTypes.number, // defaults monthHeight * months
}),
发布工作流程
- 将所有需要放入的软件合并到主机
- 打开一个新的发布 PR 而不是 :
- 将版本压缩到合适的 < new version >
- 更新 ChangeGelog.md
- 确保演示和重要功能能如期发挥
- 合并后,标记主输入
release/<new_version>让Github Action 处理出版 - = 利润 =
切换方式
- 方便移动( 集成自来水和刷取动作)
- 添加测试
- 改进文件编制
- 移动到打字符