forked from ElemeFE/element-react
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDatepicker.tsx
74 lines (70 loc) · 2.25 KB
/
Datepicker.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import * as React from 'react'
import { DatePicker, DateRangePicker } from 'element-react'
class Component extends React.Component<{}, {}> {
state = {
value1: new Date(),
value2: null
}
daterangepicker2 = null
onChange = () => { }
render() {
const { value1, value2 } = this.state
return (
<div>
<DatePicker
value={value1}
placeholder="选择日期"
firstDayOfWeek={2}
isShowTime={true}
onChange={date => {
console.debug('DatePicker1 changed: ', date)
this.setState({ value1: date })
}}
disabledDate={(time) => time.getTime() < Date.now() - 8.64e7}
/>
<DateRangePicker
value={value2}
placeholder="选择日期范围"
align="right"
ref={e => this.daterangepicker2 = e}
rangeSeparator="-"
disabledDate={(time, type) => time.getTime() < Date.now() - 8.64e7}
firstDayOfWeek={2}
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>
)
}
}
// TODO: 这里的测试没写完整