Ich möchte den Zeitmesser in meiner UiComponent-Form anzeigen
Wie Magento Docs die Variationen zeigt, bieten sie einen Zeitmesser:
Ich möchte dies mit UiComponent in meinem Formular.
Hinweis: Sie müssen die Planungszeit anzeigen, damit kein Datum erforderlich ist.
Überprüfte Referenz: Wie füge ich in Magento 2 einen Zeitbereichswähler zum AdminHTML-Formular hinzu? (Aber es ist mit Block, ich möchte mit UiComponent)
magento-2.1
uicomponent
time
Ronak Chauhan
quelle
quelle
Antworten:
Sie müssen Ihre eigene UI-Komponente erstellen. Sie können dies tun, indem Sie die Date UI Component erweitern.
# 1 Fügen Sie das XML zu Ihrem Formular hinzu
Fügen Sie das Feld der Feldmenge hinzu. In diesem Beispiel wird die zu erstellende Komponente aufgerufen
time
. Beachten Sie, dass Sietemplate
in der folgenden XML eine deklarieren können. Dies ist jedoch nicht wirklich hilfreich, da die XHTML-Vorlage die Knockout-Vorlage umschließt, die das eigentliche Rendering ausführt. Es gibt andere Knoten, die Sie hier als Validierung deklarieren können.# 2 Erstellen Sie die UI-Komponente
Ein paar Hinweise zum obigen Javascript:
elementTmpl
ist nicht nötig. Wenn Sie jedoch die Vorlage anpassen möchten (derzeitmodule-ui/view/base/web/templates/form/element/date.html
) , erstellen Sie einfach eine eigene Vorlage und verweisen Sie daraufelementTmpl
.Es gibt mehr Optionen für die Eingabe. Sie können mehr über sie finden: http://trentrichardson.com/examples/timepicker/#tp-options . Im Code gibt es hier eine Liste aller Standardeinstellungen:
/lib/web/jquery/jquery-ui-timepicker-addon.js
Endresultat:
definitions.xml
. Sie können jedoch erweitern sie mit minimalem Aufwand. (Und wenn es einen Weg gibt, lass es mich bitte wissen).quelle
Sie können diesen XML-Code einfach für das gleiche Ergebnis wie oben verwenden:
Ergebnis:
quelle