From 63541ed7b1c9ad58348ea86c97f3e8b31830535b Mon Sep 17 00:00:00 2001 From: MG12 Date: Thu, 19 Nov 2015 08:37:41 +0800 Subject: clear input content and close select panel when click [x] on select panel --- src/TimePicker.jsx | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'src/TimePicker.jsx') diff --git a/src/TimePicker.jsx b/src/TimePicker.jsx index eb413cb..78d6de6 100644 --- a/src/TimePicker.jsx +++ b/src/TimePicker.jsx @@ -16,10 +16,11 @@ function refFn(field, component) { const Picker = React.createClass({ propTypes: { prefixCls: PropTypes.string, + inputClassName: PropTypes.string, locale: PropTypes.object, children: PropTypes.func, disabled: PropTypes.bool, - value: PropTypes.object, + defaultValue: PropTypes.object, open: PropTypes.bool, align: PropTypes.object, placement: PropTypes.any, @@ -54,9 +55,9 @@ const Picker = React.createClass({ }, componentWillReceiveProps(nextProps) { - const { value, open } = nextProps; - if (value !== undefined) { - this.setState({value}); + const { defaultValue, open } = nextProps; + if (defaultValue !== undefined) { + this.setState({value: defaultValue}); } if (open !== undefined) { this.setState({open}); @@ -64,14 +65,17 @@ const Picker = React.createClass({ }, onPanelChange(value) { - const props = this.props; this.setState({ value: value, }); - props.onChange(value); + this.props.onChange(value); }, onPanelClear() { + this.setState({ + value: '', + }); + this.setOpen(false); }, onVisibleChange(open) { @@ -84,11 +88,11 @@ const Picker = React.createClass({ }, getPanel() { - const { prefixCls, value, locale, formatter, placeholder, hourOptions, minuteOptions, secondOptions } = this.props; + const { prefixCls, defaultValue, locale, formatter, placeholder, hourOptions, minuteOptions, secondOptions } = this.props; return ( - + -- cgit v1.2.3