Browse Source

feat: add onChange for Calendar

pull/11525/head
tangjinzhou 6 years ago
committed by 偏右
parent
commit
92dc0dc2b0
  1. 1
      components/calendar/index.en-US.md
  2. 8
      components/calendar/index.tsx
  3. 1
      components/calendar/index.zh-CN.md

1
components/calendar/index.en-US.md

@ -44,3 +44,4 @@ When data is in the form of dates, such as schedules, timetables, prices calenda
| value | The current selected date | [moment](http://momentjs.com/) | current date |
| onPanelChange | Callback for when panel changes | function(date: moment, mode: string) | - |
| onSelect | Callback for when a date is selected | function(date: moment) | - |
| onChange | Callback for when date changes | function(date: moment) | - |

8
components/calendar/index.tsx

@ -36,6 +36,7 @@ export interface CalendarProps {
style?: React.CSSProperties;
onPanelChange?: (date?: moment.Moment, mode?: CalendarMode) => void;
onSelect?: (date?: moment.Moment) => void;
onChange?: (date?: moment.Moment) => void;
disabledDate?: (current: moment.Moment) => boolean;
validRange ?: [moment.Moment, moment.Moment];
}
@ -53,6 +54,7 @@ export default class Calendar extends React.Component<CalendarProps, CalendarSta
mode: 'month',
onSelect: noop,
onPanelChange: noop,
onChange: noop,
};
static propTypes = {
@ -68,6 +70,7 @@ export default class Calendar extends React.Component<CalendarProps, CalendarSta
onPanelChange: PropTypes.func,
value: PropTypes.object,
onSelect: PropTypes.func,
onChange: PropTypes.func,
};
constructor(props: CalendarProps) {
@ -157,10 +160,13 @@ export default class Calendar extends React.Component<CalendarProps, CalendarSta
}
onPanelChange(value: moment.Moment, mode: CalendarMode | undefined) {
const { onPanelChange } = this.props;
const { onPanelChange, onChange } = this.props;
if (onPanelChange) {
onPanelChange(value, mode);
}
if (onChange && value !== this.state.value) {
onChange(value);
}
}
onSelect = (value: moment.Moment) => {

1
components/calendar/index.zh-CN.md

@ -45,3 +45,4 @@ title: Calendar
| value | 展示日期 | [moment](http://momentjs.com/) | 当前日期 |
| onPanelChange | 日期面板变化回调 | function(date: moment, mode: string) | 无 |
| onSelect | 点击选择日期回调 | function(date: moment) | 无 |
| onChange | 日期变化回调 | function(date: moment) | 无 |

Loading…
Cancel
Save