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

CentOS6.8 verwendet cmake zur Installation von MySQL5.7.18

Unter Bezugnahme auf die Online-Informationen hab...

MySQL 8.0.21-Installationstutorial unter Windows-System (Abbildung und Text)

Installationsvorschlag : Versuchen Sie, für die I...

So setzen Sie das Root-Passwort in CentOS7 zurück

Beim Verschieben von Bausteinen treten verschiede...

So implementieren Sie einen Kennwortstärke-Detektor in React

Inhaltsverzeichnis Vorwort verwenden Komponentens...

MySQL und MySQL Workbench Installations-Tutorial unter Ubuntu

Ubuntu-JDK installieren: [Link] Installieren Sie ...

Zusammenfassung grundlegender SQL-Anweisungen in der MySQL-Datenbank

Dieser Artikel beschreibt anhand von Beispielen d...

Der Unterschied zwischen redundanten und doppelten Indizes in MySQL

MySQL ermöglicht das Erstellen mehrerer Indizes f...

Detaillierte Erklärung der Funktion und Verwendung der KeepAlive-Komponente in Vue

Vorwort Während des Vorstellungsgesprächs erwähne...

So installieren Sie Linux Flash

So installieren Sie Flash unter Linux 1. Besuchen...