Detaillierte Erläuterung des dynamischen Zeitbereichsgrenzfalls im Vue el-date-picker

Detaillierte Erläuterung des dynamischen Zeitbereichsgrenzfalls im Vue el-date-picker

Es gibt zwei Situationen

1. Startzeit und Endzeit befinden sich im selben Feld (nur auf diesen Monat beschränkt)

2. Trennen Sie Startzeit und Endzeit in zwei Felder (begrenzen Sie die Startzeit so, dass sie nicht vor der aktuellen Zeit liegt, und die Endzeit so, dass sie nicht mehr als eine Woche nach der Startzeit liegt).

Fall 1

//Fall 1 Original-Copyright-Erklärung: Dieser Artikel ist ein Originalartikel von weixin_40998880 und entspricht der CC 4.0 BY-SA-Copyright-Vereinbarung. Bitte fügen Sie beim Nachdruck den Originalquellenlink und diese Erklärung bei.
//Link zu diesem Artikel: https://blog.csdn.net/weixin_40998880/article/details/106272897
 
//html
<el-Datumsauswahl
   v-model="Zeit"
   Typ="Datum/Uhrzeitbereich"
   @change="DatumsauswahlÄnderung"
   :picker-options="Picker-Optionen"
   Bereichstrennzeichen="-"
   start-placeholder="Startdatum"
   end-placeholder="Enddatum"
   ausrichten="rechts"
   Stil="Breite: 100 %;"
   Werteformat="jjjj-MM-tt HH:mm:ss" Format="jjjj-MM-tt HH:mm:ss"
   :Standardzeit="['00:00:00','23:59:59']">
</el-Datumsauswahl>
 
 
//Skript
 
Daten(){
  zurückkehren {
     selectData: '',
     pickerOptions: {
      // Wenn Sie darauf klicken, wird die Startzeit ausgewählt, die minDate ist
      bei Auswahl: ({ maxDate, minDate }) => {
         this.selectData = minDate.getTime()
         wenn (maxDatum) {
           // Einschränkungen entfernen this.selectData = ''
         }
      },
      disabledDate: (Zeit) => {
          // Ob die Beurteilungsbedingung eingeschränkt werden soll if (!this.isNull(this.selectData)) {
            var date = neues Datum(diese.selectData)
            // Hier sind die Einschränkungsbedingungen. Daten, die größer oder kleiner als dieser Monat sind, sind deaktiviert (versuchen Sie, diese Methode nicht zu verwenden, da dieser Monat anderer Jahre auch ausgewählt werden kann. Spezifische Einschränkungsdaten finden Sie in Situation 2).
            returniere date.getMonth() > neues Datum(Uhrzeit).getMonth() || date.getMonth() < neues Datum(Uhrzeit).getMonth()
          } anders {
            return false
          }
        }
     }
  }
},
Methoden:{
  // Prüfen ob es leer ist isNull(value) {
    wenn (Wert) {
      return false
    }
    returniere wahr
  }
}
 

Fall 2

//Situation 2
//html
    <el-col :span="8">
                <el-form-item prop="beginTime" label="Terminbeginn:">
                  <el-Datumsauswahl
                    v-Modell="EditForm.BeginTime"
                    Typ="Datum/Uhrzeit"
                    Platzhalter="Startzeit auswählen"
                    :picker-options="PickerOptionen[0]"
                    Werteformat="jjjj-MM-tt HH:mm:ss"
                    :default-time="Standardzeit[0]"
                  >
                  </el-date-picker> </el-form-item
              ></el-col>
              <el-col :span="8"
                <el-form-item prop="endTime" label="Termin-Endzeit:">
                  <el-Datumsauswahl
                    v-Modell="EditForm.Endzeit"
                    Typ="Datum/Uhrzeit"
                    Platzhalter="Startzeit auswählen"
                    :picker-options="pickerOptionen[1]"
                    Werteformat="jjjj-MM-tt HH:mm:ss"
                    :default-time="Standardzeit[1]"
                  >
                  </el-date-picker> </el-form-item
              ></el-col>
              
              
 //Skript
    Daten(){
  zurückkehren {
     selectData: '',
     Standardzeit: [],
     PickerOptionen: [
        {
          disabledDate: Zeit => {
            const curDate = neues Date().getTime();
            konstanter Tag = 14 * 24 * 3600 * 1000;
            const dateRegion = aktuelles Datum + Tag;
            zurückkehren (
              Zeit.getTime() < Date.now() – 8.64e7 ||
              time.getTime() > Datumsregion
            );
          }
        },
        {
          //Beschränken Sie die Endzeit auf eine Woche nach der Startzeit disabledDate: time => {
            // Ob die Beurteilungsbedingung eingeschränkt werden soll const date = new Date(this.editForm.beginTime);
            wenn (!this.isNull(date)) {
              konstanter Tag = 7 * 24 * 3600 * 1000;
              const dateRegion = date.getTime() + tag;
              zurückkehren (
                //Deaktiviere Daten, die vor der Startzeit und eine Woche nach der Startzeit liegen. new Date(time).getTime() > dateRegion ||
                neues Datum(Uhrzeit).getTime() < date.getTime()
              );
            } anders {
              gibt false zurück;
            }
          }
        }
      ],
  }
},
Methoden:{
  // Prüfen ob es leer ist isNull(value) {
    wenn (Wert) {
      return false
    }
    returniere wahr
  },
  // Aktuelle Uhrzeit abrufen und bei Auswahl den Standardwert hinzufügen getNowTime() {
      lass d = neues Datum();
      lass Jahr, Monat, Tag, Stunde, Minute;
      //Zehn Minuten nach der aktuellen Zeit d.setTime(d.getTime() + 10 * 60 * 1000);
      [Jahr, Monat, Tag, Stunde, Minute] = [
        d.getFullYear(),
        d.getMonth(),
        d.getDate(),
        d.getHours(),
        d.getMinutes()
      ];
      sei Stunde2 = Stunde + 1;
      //Der Standardwert bei Auswahl der Startzeit beträgt zehn Minuten nach der aktuellen Uhrzeit. //Der Standardwert bei Auswahl der Endzeit beträgt eine Stunde und zehn Minuten nach der aktuellen Uhrzeit. this.defaultTime = [
        Stunde + ":" + Minute + ":00",
        Stunde2 + ":" + Minute + ":00"
      ];
    },
}

Dies ist das Ende dieses Artikels über den detaillierten Fall der dynamischen Begrenzung des Zeitbereichs durch den vue el-date-picker. Weitere relevante Inhalte zum dynamischen Begrenzen des Zeitbereichs durch den vue el-date-picker finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Vue-Filter mit perfektem Zeit- und Datumsformatcode
  • Allgemeine Zeitformatkonvertierung in Vue
  • Mehrere Möglichkeiten der VUE-Zeitkonvertierung
  • Vue implementiert die Abfrage von Startzeit und Endzeitbereich
  • Vue verhindert das Auslösen mehrerer Anfragen nach aufeinanderfolgenden Klicks in einem kurzen Zeitraum
  • Vue-Zeitleiste Vue-Light-Timeline - Nutzungsanweisungen
  • Ant-Design-Vue-Zeitselektor weist Standardzeitoperation zu
  • Anweisungen zur Verwendung des Datumsauswahlfelds gemischt mit dem Zeitwähler in Ant Design Vue
  • Vue formatiert die Zeit in der Elementtabelle in das angegebene Format

<<:  Detaillierte Einführung in die Mysql-Datumsabfrage

>>:  Analyse von Multithread-Programmierbeispielen unter Linux

Artikel empfehlen

Empfehlen Sie mehrere MySQL-bezogene Tools

Vorwort: Mit der kontinuierlichen Entwicklung der...

So isolieren Sie Benutzer in Docker-Containern

Im vorherigen Artikel „UID und GID in Docker-Cont...

Der vollständige Leitfaden zum Rasterlayout in CSS

Grid ist ein zweidimensionales Rasterlayoutsystem...

Kleines Programm zur Implementierung eines einfachen Taschenrechners

In diesem Artikelbeispiel wird der spezifische Co...

Vue realisiert den Card-Flip-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

So beschränken Sie das Eingabefeld in HTML auf die Eingabe reiner Zahlen

Beschränken Sie input Eingabefeld auf reine Zahle...

Implementierung der Docker-Bereitstellung von Tomcat- und Webanwendungen

1. Docker online herunterladen yum install -y epe...