2017-09-25 3 views
0

Ich benutze DatePicker von antd.Handle manuelle Bearbeitung der Datumszeit in DatePicker von antd

<LocaleProvider locale={enUS}> 
    <DatePicker 
     format="MM/D/YYYY HH:mm" 
     defaultValue={this.getStartValue()} 
     showTime={{format: 'HH:mm'}} 
     placeholder="Start" 
     allowClear={false} 
     onOk={this.onStartTimeChange} 
    /> 
</LocaleProvider> 
<LocaleProvider locale={enUS}> 
    <DatePicker 
     format="MM/DD/YYYY HH:mm" 
     defaultValue={this.getEndValue()} 
     showTime={{format: 'HH:mm'}} 
     placeholder="End" 
     allowClear={false} 
     onOk={this.onEndTimeChange} 
    /> 
</LocaleProvider> 

Ich zeige Wert von Zustand und onOK bin Zustand mit dem neuen Wert ändern. Jetzt Ausgabe ist konfrontiert, wenn Benutzer manuell die Zeit bearbeiten.

Gibt es eine Möglichkeit zu

  1. Prevent Benutzer von Zeit manuell bearbeiten Sie das Eingabefeld zu ändern?
  2. Oder um den Zustand mit dem editierten Wert zu ändern?

Ist onChange nur so, es als onChnage zu ändern, wird mein Zustand mehrere Male auf fast jedem Benutzer klicken. Wenn onChange empfohlen wird, können wir den OK-Button selbst vermeiden?

Antwort

0

Nach Online-Suche und versuchen.

Wir können onChange verwenden und dies wird alle Dinge behandeln.

<DatePicker 
    format='MM/DD/YYYY HH:mm' 
    defaultValue={this.getFromValue()} 
    showTime={{format: 'HH:mm'}} 
    placeholder="Start" 
    allowClear={false} 
    showToday={false} 
    disabledDate={this.disabledFromDate} 
    onChange={this.onStartTimeChange} 
/> 
Verwandte Themen