React ant design datetime picker value сохранить отдельно - PullRequest
0 голосов
/ 18 июня 2020
• 1000 любое решение для этого

здесь блиц стек

Мой код здесь

interface AppProps { }
interface AppState {
  name: string;
  date: Date;
}

class App extends Component<AppProps, AppState> {
  constructor(props) {
    super(props);
    this.state = {
      name: 'React',
      date: new Date()
    };
  }
//date disable
    disabledDate(current: any) {
        // Can not select days before today and today
        //return current && current < moment().endOf('day');
        return current && current < moment().startOf("day")
    }

    //time disable
    getDisabledHours() {
        var hours = [];
        for (let i = 0; i < moment().hour(); i++) {
            hours.push(i);
        }
        return hours;
    }

    //time disable
    getDisabledMinutes = (selectedHour: any) => {
        var minutes = [];
        if (selectedHour === moment().hour()) {
            for (var i = 0; i < moment().minute(); i++) {
                minutes.push(i);
            }
        }
        return minutes;
    }


render() {
    return (
      <div>
        <DatePicker
   name="Date" disabledDate={this.disabledDate}
   onChange={d => this.setState({date: d})}
   style={{width: "100%"}}
   showTime={{ disabledMinutes: moment().date() < moment(this.state.date).date() ? undefined : this.getDisabledMinutes, 
   disabledHours: moment().date() < moment(this.state.date).date() ? undefined : this.getDisabledHours}}
   value={moment(this.state.date)}

  />
      </div>
    );
  }
}

1 Ответ

1 голос
/ 19 июня 2020

попробуйте, это работает.

   getData = (date) => {
     console.log('date', date);
     console.log("date",moment(date).format('YYYY-MM-DD'));
     console.log("time",moment(date).format('HH:mm:ss'))
   }

    render() {
        return (
            <div>
                <DatePicker
                    name="Date" disabledDate={this.disabledDate}
                    onChange={this.getData}
                    style={{ width: "100%" }}
                    showTime={{
                        disabledMinutes: moment().date() < moment(this.state.date).date() ? undefined : this.getDisabledMinutes,
                        disabledHours: moment().date() < moment(this.state.date).date() ? undefined : this.getDisabledHours
                    }}
                    value={moment(this.state.date)}

                />
            </div>
        );
    }

надеюсь, это вам поможет.

...