TimePicker im Element deaktiviert einen Teil der Zeit (deaktiviert auf Minuten)

TimePicker im Element deaktiviert einen Teil der Zeit (deaktiviert auf Minuten)

Die Projektanforderungen lauten: Datum und Uhrzeit auswählen, nur Zeiten nach der aktuellen Uhrzeit auswählen und die Mindeststufe auf Minuten deaktivieren.

Es gibt zwei Möglichkeiten
1. Verwenden Sie den Datums- und Uhrzeitwähler DateTimePicker.
2. DatePicker und TimePicker kombiniert verwenden Hier verwende ich die zweite Methode, das wichtigste Attribut sind Picker-Optionen

<el-Datumsauswahl
          v-Modell = "formInline.inventoryDate"
          Typ="Datum"
          ausrichten="rechts"
          Platzhalter="Bitte wählen Sie ein Datum aus"
          :picker-options="Picker-Optionen"
          Werteformat="jjjj-MM-tt"
          format="jjjj-MM-tt"
          @change="Änderungsdatum"
         ></el-Datumsauswahl>
         <el-Zeit-Picker
          v-Modell = "formInline.inventoryDateTime"
          Typ="Datum"
          ausrichten="rechts"
          Platzhalter="Bitte wählen Sie eine Uhrzeit aus"
          :picker-options="{
           wählbarer Bereich: this.startTimeRange
          }"
          @change="Änderungszeit"
          Werteformat="HH:mm:ss"
          Format = "HH:mm:ss"
         ></el-Zeitpicker>
Daten(){
	zurückkehren {
		pickerOptions: {
    disabledDate: Zeit => {
     Rückgabewert: Zeit.getTime() < Date.now() - 3600 * 1000 * 24
    },
   },
	}
},
betrachten:
  'formInline.inventoryDate':{
   tief:wahr,
   handler(neuerWert, alterWert) {
    wenn(neuerWert){
     let nowDate = this.$options.filters['sendTimeDate'](new Date().getTime()+60*1000);// Die Zeit nach einer Minute (ich bin hier aufgrund geschäftlicher Anforderungen hier, Sie können die Zeit hier nach Belieben anpassen)
     let dt = nowDate.split(" ");
     sei st = '';
     wenn(neuerWert.split(" ")[0] == dt[0]){
      // Heute beginnt die ausgewählte Zeit mit der aktuellen Stunde, Minute und Sekunde st = dt[1];
     }anders{
      // Morgen und danach beginnen um 0:00 Uhr st = '00:00:00';
     }
     this.startTimeRange = st + '- 23:59:59';
     //Konsole.log(dieser.startTimeRange)
     //Beispiel: Wenn es heute 10:41:40 Uhr ist, dann wählen Sie den Zeitbereich: 11:41:40 - 23:59:59
       //Ansonsten: 00:00:00 - 23:59:59
    }
   },
  }
 },

Idee: Verwenden Sie das Konfigurationselement disabledDate im Attribut picker-options von el-date-picker, um zuerst den Datumswähler zu deaktivieren, sodass nur Daten nach dem aktuellen Datum ausgewählt werden können. Verwenden Sie dann watch, um das vom Datumswähler ausgewählte Datum zu überwachen. Wenn es heute ist, verwenden Sie das Konfigurationselement selectableRange im Attribut picker-options von el-time-picker, um die auswählbare Zeit zu steuern.

Hinweis: Obwohl diese Logik die Auswahl von Sekunden deaktivieren kann, wird die Auswahl von Sekunden auf der Front-End-Seite nicht deaktiviert. Wenn Sie die vorherigen Sekunden auswählen, werden standardmäßig die Sekunden nach einer Minute angezeigt (ich habe dies aus geschäftlichen Gründen getan. Sie können den deaktivierten Zeitraum nach Belieben über den obigen Code anpassen).

Rendereffekt:

Bildbeschreibung hier einfügen

Lassen Sie mich die erste Methode zusammenfassen. Das Datum, das ich deaktiviert habe, liegt vor heute und der Zeitraum reicht von 22:00 bis 02:00 Uhr. Ich werde den Code direkt posten.

<el-Datumsauswahl
         Klasse="Datumsklasse"
         v-Modell="aa"
         Typ="Datum/Uhrzeit"
         :picker-options="Picker-Optionen"
         Platzhalter="Nach 22:00"
         Stil="Breite:100%">
        </el-Datumsauswahl>


 Daten() {
   zurückkehren {
     aa: '',
     pickerOptions: {
      // Zeit begrenzen selectableRange: ['22:00:00 - 23:59:59','00:00:00 - 02:00:00'], // Hier kann auch eine Variable angebunden werden um die Zeit dynamisch zu begrenzen // Datum begrenzen disabledDate: this.disabledDate
    },
   }
 } ,
 Methoden: {
  deaktiviertesDatum(Uhrzeit) {
    Rückgabewert: Zeit.getTime() < Date.now() - 3600 * 1000 * 24
  }
}

Dies ist das Ende dieses Artikels zum Deaktivieren eines Teils der Zeit im TimePicker-Zeitwähler im Element (Deaktivierung auf Minuten). Weitere Informationen zum Deaktivieren eines Teils der Zeit im Element TimePicker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die folgenden verwandten Artikel weiter. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Lösen Sie das Problem, dass das Element DateTimePicker+vue Popup-Box nur Stunden anzeigt
  • Anwendungsbeispiel für das Datums-/Uhrzeit-Selektorelement DateTimePicker

<<:  So sortieren Sie eine Zeile oder Spalte in MySQL

>>:  So konfigurieren Sie Nginx zur Unterstützung von IPv6 unter Linux

Artikel empfehlen

Karusselleffekte mit JavaScript implementieren

In diesem Artikel wird der spezifische Code für J...

So ändern Sie das MySQL-Datenbankdateiverzeichnis in Ubuntu

Vorwort Der Ubuntu-Server des Unternehmens platzi...

61 Dinge, die jeder Webentwickler wissen sollte

Normalerweise müssen Sie die Reden aller Teilnehme...

JS-Implementierung eines Karussellbeispiels

In diesem Artikel wird der spezifische JS-Code zu...

Beispiel einer DOM-Operationstabelle (DOM erstellt Tabelle)

1. Erstellen Sie eine Tabelle mit HTML-Tags: Code...

So vergleichen Sie zwei Datenbanktabellenstrukturen in MySQL

Während des Entwicklungs- und Debugging-Prozesses...

Detaillierte Erläuterung der MySQL-Existes- und Not-Existes-Beispiele

Detaillierte Erläuterung der MySQL-Existes- und N...

SQL-Funktion zum Zusammenführen eines Feldes

Vor kurzem musste ich alle Felder einer verknüpft...

Detaillierte Erläuterung der JavaScript-Closure-Probleme

Closures sind eines der traditionellen Features r...

So erstellen Sie einen Nginx-Image-Server mit Docker

Vorwort Bei der allgemeinen Entwicklung werden Bi...