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

Detaillierte Erklärung der schmerzlosen Token-Aktualisierungsmethode von Uniapp

Wenn das Front-End die Schnittstelle anfordert, w...

Einführung in HTML DOM_PowerNode Java Academy

Was ist DOM? Mit JavaScript können Sie das gesamt...

So greifen Sie über die IP-Adresse auf MySql zu

1. Melden Sie sich bei MySQL an: mysql -u root -h...

Probleme und Erfahrungen bei der Webentwicklung

<br />Nachfolgend sind die Probleme aufgefüh...

Detaillierte Erklärung von Cgroup, dem Kernprinzip von Docker

Das leistungsstarke Tool cgroup im Kernel kann ni...

Erstellen eines sekundären Menüs mit JavaScript

In diesem Artikelbeispiel wird der spezifische Ja...

HTML-Formular_PowerNode Java Academy

1. Formular 1. Die Rolle des Formulars HTML-Formu...

So stellen Sie Gitlab schnell mit Docker bereit

1. Laden Sie das Gitlab-Image herunter Docker-Pul...

Warum kann mein Tomcat nicht starten?

Inhaltsverzeichnis Phänomen: Portnutzung: Rechtsc...

Node.js erstellt ein einfaches Crawler-Case-Tutorial

Vorbereitung Zuerst müssen Sie nodejs herunterlad...

So implementieren Sie einen Kennwortstärke-Detektor in React

Inhaltsverzeichnis Vorwort verwenden Komponentens...

Vue implementiert einen Login-Verifizierungscode

In diesem Artikelbeispiel wird der spezifische Co...