Browse Source

Fix: Modal opens multiple times (#455)

master
Henning Hall 3 years ago
committed by GitHub
parent
commit
d221f91a20
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 2 deletions
  1. +6
    -1
      src/DatePickerAndroid.js
  2. +5
    -1
      src/DatePickerIOS.js

+ 6
- 1
src/DatePickerAndroid.js View File

@ -18,8 +18,11 @@ const defaultWidth = 310
class DatePickerAndroid extends React.PureComponent {
render() {
const props = this.getProps()
const isClosed = this._isCurrentlyClosed();
this.previousProps = props;
if (props.modal) {
if (props.open) {
if (props.open && isClosed) {
NativeModules.RNDatePicker.openPicker(
props,
this._onConfirm,
@ -32,6 +35,8 @@ class DatePickerAndroid extends React.PureComponent {
return <NativeDatePicker {...props} onChange={this._onChange} />
}
_isCurrentlyClosed = () => !this.previousProps || !this.previousProps.open
getProps = () => ({
...this.props,
date: this._date(),

+ 5
- 1
src/DatePickerIOS.js View File

@ -45,9 +45,11 @@ export default class DatePickerIOS extends React.Component {
render() {
const props = this._toIosProps(this.props)
const isClosed = this._isCurrentlyClosed();
this.previousProps = props;
if (props.modal) {
if (props.open) {
if (props.open && isClosed) {
NativeModules.RNDatePickerManager.openPicker(
props,
this._onConfirm,
@ -70,6 +72,8 @@ export default class DatePickerIOS extends React.Component {
/>
)
}
_isCurrentlyClosed = () => !this.previousProps || !this.previousProps.open
}
const styles = StyleSheet.create({

Loading…
Cancel
Save