Giter Club home page Giter Club logo

Comments (5)

dmtrKovalenko avatar dmtrKovalenko commented on June 6, 2024 2

Fixed in 1.0.3, I have add ability to change state outside via value prop.

from material-ui-datetimepicker.

dmtrKovalenko avatar dmtrKovalenko commented on June 6, 2024 1

Hi, seems that I should fix that from the picker side.
Will do that tomorrow and publish the release.

from material-ui-datetimepicker.

berstend avatar berstend commented on June 6, 2024

I've made a quick self-contained demo to show what I mean:
https://codesandbox.io/s/n91wn3vzm0

import React from 'react';
import { render } from 'react-dom';

import moment from 'moment';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import DateTimePicker from 'material-ui-datetimepicker';
import DatePickerDialog from 'material-ui/DatePicker/DatePickerDialog'
import TimePickerDialog from 'material-ui/TimePicker/TimePickerDialog';

class Demo extends React.Component {
  state = {
    dateTime: moment()
  }

  setDate(dateTime) {
    this.setState({ dateTime })
  }

  updateTime() {
    this.setState({ dateTime: moment().add(30, "minutes")})
    alert("Time updated")
  }

  render() {
    return (
      <div>
        <MuiThemeProvider>
          <DateTimePicker
            onChange={this.setDate.bind(this)}
            defaultTime={this.state.dateTime}
            DatePicker={DatePickerDialog}
            TimePicker={TimePickerDialog}
          />
        </MuiThemeProvider>
        <button onClick={this.updateTime.bind(this)}>Add 30 minutes</button>
      </div>
    );
  }
}

render(<Demo />, document.getElementById('root'));

from material-ui-datetimepicker.

berstend avatar berstend commented on June 6, 2024

I've hacked around this issue for now by abusing conditional rendering 😅:

  forceRerender() {
    this.setState({showPicker: false})
    setTimeout(() => {
      this.setState({showPicker: true})
    }, 0)
  }


// within render
          { this.state.showPicker && <DateTimePicker
            onChange={this.setDate.bind(this)}
            format='MMM DD, YYYY HH:mm'
            timePickerDelay={50}
            // ...
          />
          }

from material-ui-datetimepicker.

berstend avatar berstend commented on June 6, 2024

Amazing, just in time for my app release. 😄

I've just updated and can confirm that setting the value prop will update the Picker as expected.

Thanks a lot and especially for fixing this so fast! 👍

Kudos

from material-ui-datetimepicker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.