输入或选择日期的控件。当用户需要输入一个日期,可以点击标准输入框,弹出日期面板进行选择。
DatePicker
升级到 DatePicker2
#1.22版本增加当前组件
功能变化:
dayjs
日期库替换了 moment
WeekPicker
和 QuarterPicker
选择器preset
属性,支持预设日期API变化:
defaultVisibleMonth
属性,请使用 defaultPanelValue
替代(仅名字替换)footerRender
属性,请使用 extraFooterRender
替代showTime
之前属性类型既支持 Boolean
也支持 Object
;现升级为仅支持 Boolean
类型,使用 timePanelProps
来传入时分秒的时间选择属性onChange
和 onOk
等事件返回日期对象为 Dayjs
类型日期的国际化包括组件的国际化跟日期库dayjs
的国际化两部分。
import { DatePicker2, ConfigProvider } from '@alifd/next';
import 'dayjs/locale/en'; // 组件库国际化
import en from '@alifd/next/lib/locale/en-us'; // 组件国际化
function App() {
return (
<ConfigProvider locale={en}>
<DatePicker2 />
</ConfigProvider>
);
}
ReactDOM.render(<App />, mountNode);
如果需要同时选择时间,可以通过 showTime
属性开启,timePanelProps
支持传入TimePickerPanel
的属性,例如 format
, defaultValue
等。
日期选择框分为 DatePicker
和 RangePicker
两种类型,分别又有 date
、month
、year
, week
, quarter
五种不同模式。
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
disabledDate | 禁用日期函数 签名: Function(value: Dayjs, view: String) => Boolean 参数: value: {Dayjs} 日期值 mode: {String} 当前视图类型 返回值: {Boolean} 是否禁用 |
Function | () => false |
dateCellRender | 自定义日期渲染函数 签名: Function(value: Object) => ReactNode 参数: value: {Dayjs} 日期值 返回值: {ReactNode} node节点 |
Function | - |
onPanelChange | 日历面板切换的回调 签名: Function(value: Dayjs, mode: String) => void 参数: value: {Dayjs} 日期对象 |
Function | - |
showTime | 是否使用时间控件 | Boolean | false |
resetTime | 每次选择日期时是否重置时间 | Boolean | false |
preset | 预设日期快捷选择 | Object | - |
extraFooterRender | 自定义额外的页脚 签名: Function() => ReactNode 返回值: {ReactNode} 自定义的面板页脚组件 |
Function | () => null |
disabled | 是否禁用 | Boolean | false |
hasClear | 是否显示清空按钮 | Boolean | true |
size | 输入框尺寸 可选值: small , medium , large |
Enum | medium |
inputReadOnly | 只读 | Boolean | false |
inputProps | 输入框其他属性 | Object | - |
visible | 弹层显示状态 | Boolean | - |
defaultVisible | 弹层默认是否显示 | Boolean | false |
onVisibleChange | 弹层展示状态变化时的回调 签名: Function(visible: Boolean) => void 参数: visible: {Boolean} 弹层是否显示 |
Function | func.noop |
popupTriggerType | 弹层触发方式 可选值: 'click', 'hover' |
Enum | 'click' |
popupAlign | 弹层对齐方式,具体含义见 OverLay文档 | String | 'tl tl' |
popupContainer | 弹层容器 | any | - |
popupStyle | 弹层自定义样式 | Object | - |
popupClassName | 弹层自定义样式类 | String | - |
popupProps | 弹层其他属性 | Object | - |
followTrigger | 是否跟随滚动 | Boolean | - |
popupProps | 弹层其他属性 | Object | - |
isPreview | 是否为预览态 | Boolean | - |
renderPreview | 预览态模式下渲染的内容 签名: Function(value: Dayjs) => void 参数: value: {Dayjs} 日期 |
Function | - |
dateInputAriaLabel | 日期输入框的 aria-label 属性 | String | - |
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
placeholder | 输入提示 | String | - |
value | 日期值(受控) | Dayjs/String | - |
defaultValue | 初始日期值 | Dayjs/String | - |
format | 日期格式 | String | YYYY-MM |
outputFormat | 输出格式 | String | ((date: Dayjs, dateStr: String) => any) |
onChange | 日期值改变时的回调 签名: Function(value: Dayjs/String) => void 参数: value: {Dayjs/String} 日期值 |
Function | func.noop |
onOk | 点击确认按钮时的回调 签名: Function() => Array 返回值: {Array} 日期范围 |
Function | func.noop |
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
mode | 日期面板的状态 可选值: date 、month 、year , week , quarter |
Enum | date |
placeholder | 输入提示 | String | [String, String] |
value | 日期值(受控) | [Dayjs, Dayjs] | - |
defaultValue | 初始日期值 | [Dayjs, Dayjs] | - |
format | 日期格式 | String/Function | YYYY-MM |
outputFormat | 输出格式 | String | ((date: [Dayjs, Dayjs], dateStr: [String, String]) => any) |
onChange | 日期值改变时的回调 签名: Function(value) => void 参数: value: {[Dayjs, Dayjs]} 日期范围 |
Function | func.noop |
onCalendarChange | 待选日期发生变化的回调 签名: Function(value, dateStrings) => void 参数: value: {[Dayjs, Dayjs]} 日期范围 dateStrings: {[string, string]} |
Function | func.noop |
onOk | 点击确认按钮时的回调 签名: Function(value) => void 参数: value: {[Dayjs, Dayjs]} 日期范围 |
Function | func.noop |