From 5a03dfa47d2691ce5cb10d2d0be18ba0c26c6d4f Mon Sep 17 00:00:00 2001 From: Houssam Haidar Date: Mon, 4 Jul 2016 14:33:40 -0400 Subject: [PATCH] [TimePicker] Move state props access into componentWillMount for IE9/10 --- src/TimePicker/Clock.js | 8 +++++++- src/TimePicker/ClockPointer.js | 8 +++++++- src/TimePicker/TimePicker.js | 8 +++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/TimePicker/Clock.js b/src/TimePicker/Clock.js index 8a241f9f629fce..245612a0bdd36d 100644 --- a/src/TimePicker/Clock.js +++ b/src/TimePicker/Clock.js @@ -20,10 +20,16 @@ class Clock extends Component { }; state = { - selectedTime: this.props.initialTime || new Date(), + selectedTime: null, mode: 'hour', }; + componentWillMount() { + this.setState({ + selectedTime: this.props.initialTime || new Date(), + }); + } + setMode = (mode) => { setTimeout(() => { this.setState({ diff --git a/src/TimePicker/ClockPointer.js b/src/TimePicker/ClockPointer.js index 3f8063b658d620..35cb157302a4b0 100644 --- a/src/TimePicker/ClockPointer.js +++ b/src/TimePicker/ClockPointer.js @@ -59,9 +59,15 @@ class ClockPointer extends Component { }; state = { - inner: isInner(this.props), + inner: false, }; + componentWillMount() { + this.setState({ + inner: isInner(this.props), + }); + } + componentWillReceiveProps(nextProps) { this.setState({ inner: isInner(nextProps), diff --git a/src/TimePicker/TimePicker.js b/src/TimePicker/TimePicker.js index 2645f72b8770fa..aed78cb943d81c 100644 --- a/src/TimePicker/TimePicker.js +++ b/src/TimePicker/TimePicker.js @@ -105,10 +105,16 @@ class TimePicker extends Component { }; state = { - time: this.isControlled() ? this.getControlledTime() : this.props.defaultTime, + time: null, dialogTime: new Date(), }; + componentWillMount() { + this.setState({ + time: this.isControlled() ? this.getControlledTime() : this.props.defaultTime, + }); + } + componentWillReceiveProps(nextProps) { if (nextProps.value !== this.props.value) { this.setState({