In diesem Artikelbeispiel wird der spezifische Code der benutzerdefinierten optionalen Zeitkalenderkomponente von Vue zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt Kalenderfunktionen: 1. Vergangene Zeit kann nicht ausgewählt werden Effektbild:------- Lasst uns die Show beginnen ----------- **Zeichnen Sie zuerst das Layout der Kalenderseite. Beachten Sie dabei das Kalenderlayout des Win10-Systems * 6 Zeilen und 7 Spalten. Warum das so ist, verstehen Sie es bitte selbst ... * Ich habe auch einen „Schauen“ gemacht. beginDay ist der Wochentag des ersten Tages des aktuellen Monats, prevMdays ist die Gesamtzahl der Tage des vorherigen Monats und nowMdays ist die Gesamtzahl der Tage des aktuellen Monats. Dadurch wird der Kalenderanzeigeeffekt erzielt, und einige möglicherweise verwendete Daten sind an das Tag gebunden, z. B. Datendaten usw. <div Klasse = "dateContent-body-day" v-for = "Artikel in 42" :key = "Artikel"> <div v-if="item - beginDay > 0 und item - beginDay <= nowMdays" :Klasse="{ 'aktiver Tag': `${year}/${month}/${item - beginDay}` == aktuelles Datum }" @click="TagesHandler" :data-year="Jahr" :data-month="Monat" :Datentag="Artikel-BeginnTag" :data-dates="Jahr + '/' + Monat + '/' + (Element - Beginntag)" > {{ item-beginDay }} </div> <div class="anderer-Tag" v-else-if="item - beginDay <= 0"> {{ item - beginDay + prevMdays }} </div> <div class="other-day" v-else>{{ item - beginDay - nowMdays }}</div> </div> - Nächste… Verwendete Daten: *active-day ist der hervorgehobene Tag, also das ausgewählte Datum. curDate steuert, welcher Tag ausgewählt ist. Hier ist heute der Standardwert. Ein Props-Daten-TimeArry wird geöffnet, um die Übergabe einiger benutzerdefinierter Daten als nicht auswählbar zu ermöglichen. Wenn die an das angeklickte Datum gebundenen Daten im Array vorhanden sind, werden sie zurückgegeben. Wenn auswählbar, wird das ausgewählte Ergebnis durch das chooseDate-Ereignis über $emit angezeigt. //Klicken, um den Tag zu wechseln dayHandler(e) { konsole.log(e); var daNum = e.target.dataset; wenn (this.cantTime.indexOf(daNum.dates) > -1) { this.$toast("Kein freies Datum, kann nicht ausgewählt werden"); zurückkehren; } Wenn ( `${daNum.Jahr}/${daNum.Monat}/${daNum.Tag}` >= `${neues Datum().getFullYear()}/${neues Datum().getMonth() + 1}/${neues Date().getDate()}` ) { dieses.Datum = e.Ziel.Datensatz.Tag; dies.$emit( "Datum auswählen", dieses.Jahr + "/" + dieser.Monat + "/" + dieses.Datum ); } anders { this.$toast("Vergangene Zeit kann nicht ausgewählt werden"); } }, //Zum nächsten Monat wechseln``nextMonth() { wenn (dieser.Monat == 12) { dieser.Monat = 1; dieses.Jahr++; } anders { diesen.Monat++; } }, Der Wechsel von Monaten und Tagen muss beobachtet werden. Der Fokus liegt auf der Beobachtung der Monatswechsel. Ob die Uhr missbraucht wurde, weiß ich nicht. ```Javascript betrachten: Datum(Wert, alterWert) { wenn (Wert) { this.curDate = `${dieses.Jahr}/${dieser.Monat}/${dieses.Datum}`; } }, Monat(Wert, alterWert) { wenn (Wert) { var ndate; für (var i = 1; i <= 31; i++) { Konsole.log(`${dieses.Jahr}/${dieser.Monat}/${i}`); wenn (this.cantTime.indexOf(`${this.year}/${this.month}/${i}`) < 0) { console.log("Kein Wert vorhanden, Stopp, Datum bleibt bei " + i); nDatum = i; brechen; } } Konsole.log(ndate, `${dieses.Jahr}/${dieser.Monat}/${ndate}`); //Vergleiche den aktuellen Monat mit dem aktuellen Tag. Der Standardwert für zukünftige Monate ist 1 und der Standardwert für den aktuellen Monat ist heute, wenn ( `${dieses.Jahr}/${diesen.Monat}/1` > `${neues Datum().getFullYear()}/${neues Datum().getMonth() + 1}/${neues Date().getDate()}` ) { this.curDate = `${dieses.Jahr}/${dieser.Monat}/${ndate}`; dieses.Datum = nDatum; } anders { für (var i = neues Date().getDate(); i <= 31; i++) { Konsole.log(2`${dieses.Jahr}/${dieser.Monat}/${i}`); wenn (this.cantTime.indexOf(`${this.year}/${this.month}/${i}`) < 0) { dies.curDate = `${new Date().getFullYear()}/${new Date().getMonth() + 1}/${i}`; dieses.Datum = i; brechen; } } } dies.$emit( "Datum auswählen", dieses.Jahr + "/" + dieser.Monat + "/" + dieses.Datum ); } } }, Wird in der übergeordneten Komponente aufgerufen <Kalender :timeArray="timeArray" @chooseDate="chooseHandler"></Kalender> importiere { Kalender , AlertBox} aus '@/components/index.js'; Standard exportieren { Komponenten: {Kalender, AlertBox }, Damit ist der Kalender fertig. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Verwendung der MySQL-Zeitdifferenzfunktionen TIMESTAMPDIFF und DATEDIFF
>>: Lösung für den 1045-Fehler in der MySQL-Datenbank
Zelle -- der Inhalt der Tabelle Zellenrand (Tabell...
1. Stoppen Sie zuerst den MySQL-Dienst Öffnen Sie...
Inhaltsverzeichnis 1. Software- und Systemabbild ...
Inhaltsverzeichnis 1. Panorama II. Hintergrund 1....
Zu Beginn dieses Artikels möchte ich die Fehler in...
Vor Kurzem habe ich mit der Aktualisierung meines ...
Was ist hohe Parallelität? Die standardmäßigen Li...
Vor Kurzem hat das Unternehmen damit begonnen, al...
Wenn Sie den Docker-Befehl zum ersten Mal verwend...
In einigen Fällen müssen die Daten in den Daten w...
Inhaltsverzeichnis Warum den Lebenszyklus versteh...
Heute werden wir uns ansehen, warum es zu Master-...
Nach dem Kauf eines Alibaba Cloud-Servers müssen ...
Beinhaltet den Prozess der Initialisierung des Ro...