用于選擇或輸入日期
以「日」為基本單位,基礎(chǔ)的日期選擇控件
基本單位由type
屬性指定??旖葸x項需配置shortcuts
,禁用日期通過 disabledDate
設(shè)置,傳入函數(shù)
constructor(props) {
super(props)
this.state = {}
}
render() {
const {value1, value2} = this.state
return (
<div className="source">
<div className="block">
<span className="demonstration">默認(rèn)</span>
<DatePicker
value={value1}
placeholder="選擇日期"
onChange={date=>{
console.debug('DatePicker1 changed: ', date)
this.setState({value1: date})
}}
disabledDate={time=>time.getTime() < Date.now() - 8.64e7}
/>
</div>
<div className="block">
<span className="demonstration">帶快捷選項</span>
<DatePicker
ref={e=>this.datepicker2 = e}
value={value2}
align="right"
placeholder="選擇日期"
onChange={date=>{
console.debug('DatePicker2 changed: ', date)
this.setState({value2: date})
}}
shortcuts={[{
text: '今天',
onClick: (picker)=> {
this.setState({value2: new Date()})
this.datepicker2.togglePickerVisible()
}
}, {
text: '昨天',
onClick: (picker)=> {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24);
this.setState({value2: date})
this.datepicker2.togglePickerVisible()
}
}, {
text: '一周前',
onClick: (picker)=> {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
this.setState({value2: date})
this.datepicker2.togglePickerVisible()
}
}]}
/>
</div>
</div>
)
}
通過擴展基礎(chǔ)的日期選擇,可以選擇周、月、年
constructor(props) {
super(props)
this.state = {}
}
render() {
const {value1, value2, value3} = this.state
return (
<div className="source">
<div className="block">
<span className="demonstration">周</span>
<DatePicker
value={value1}
placeholder="選擇周"
onChange={date=>{
console.debug('week DatePicker1 changed: ', date)
this.setState({value1: date})
}}
format="yyyy 第 WW 周"
selectionMode="week"
/>
</div>
<div className="block">
<span className="demonstration">月</span>
<DatePicker
value={value2}
placeholder="選擇月"
onChange={date=>{
console.debug('month DatePicker changed: ', date)
this.setState({value2: date})
}}
selectionMode="month"
/>
</div>
<div className="block">
<span className="demonstration">年</span>
<DatePicker
value={value3}
placeholder="選擇年"
onChange={date=>{
console.debug('year DatePicker changed: ', date)
this.setState({value3: date})
}}
selectionMode="year"
align="right"
/>
</div>
</div>
)
}
可在一個選擇器中便捷地選擇一個時間范圍
constructor(props) {
super(props)
this.state = {value1: null, value2: null}
}
render() {
const {value1, value2} = this.state
return (
<div className="source">
<div className="block">
<span className="demonstration">默認(rèn)</span>
<DateRangePicker
value={value1}
placeholder="選擇日期范圍"
onChange={date=>{
console.debug('DateRangePicker1 changed: ', date)
this.setState({value1: date})
}}
/>
</div>
<div className="block">
<span className="demonstration">帶快捷選項</span>
<DateRangePicker
value={value2}
placeholder="選擇日期范圍"
align="right"
ref={e=>this.daterangepicker2 = e}
onChange={date=>{
console.debug('DateRangePicker2 changed: ', date)
this.setState({value2: date})
}}
shortcuts={[{
text: '最近一周',
onClick: ()=> {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
this.setState({value2: [start, end]})
this.daterangepicker2.togglePickerVisible()
}
}, {
text: '最近一個月',
onClick: ()=> {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
this.setState({value2: [start, end]})
this.daterangepicker2.togglePickerVisible()
}
}, {
text: '最近三個月',
onClick: ()=> {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
this.setState({value2: [start, end]})
this.daterangepicker2.togglePickerVisible()
}
}]}
/>
</div>
</div>
)
}
參數(shù) | 說明 | 類型 | 可選值 | 默認(rèn)值 |
---|---|---|---|---|
placeholder | 占位內(nèi)容 | string | — | — |
format | 時間日期格式化 | string | 年 yyyy ,月 MM ,日 dd ,小時 HH ,分 mm ,秒 ss |
yyyy-MM-dd |
align | 對齊方式 | string | left, center, right | left |
isShowTrigger | 是否顯示圖標(biāo) | boolean | - | true |
isReadOnly | 是否是只讀 | boolean | - | false |
isDisabled | 是否是禁用 | boolean | - | false |
isShowTime | 是否顯示時間 | boolean | - | false |
firstDayOfWeek | 周起始日 | Number | 0 到 6 | 0 |
onFocus | focus 事件觸發(fā) | (SyntheticEvent)=>() | - | - |
onBlur | blur 事件觸發(fā) | (SyntheticEvent)=>() | - | - |
參數(shù) | 說明 | 類型 | 可選值 | 默認(rèn)值 |
---|---|---|---|---|
value | - | Date/null | — | - |
shortcuts | 快捷選項 | {text: string, onClick: ()=>()}[] | - | - |
selectionMode | 日期類型 | string, one of ['year', 'month', 'week', 'day'] | - | 'day' |
disabledDate | 是否禁用日期 | (Date, selectionMode)=>boolean | - | - |
showWeekNumber | 是否展示周數(shù) | boolean | - | false |
參數(shù) | 說明 | 類型 | 可選值 | 默認(rèn)值 |
---|---|---|---|---|
value | - | Date[]/null | — | - |
shortcuts | 快捷選項 | {text: string, onClick: ()=>()}[] | - | - |
showWeekNumber | 是否展示周數(shù) | boolean | - | false |
rangeSeparator | 選擇范圍時的分隔符 | string | - | ' - ' |
更多建議: