Chcę pokazać timepicker w mojej formie UiComponent
Gdy Magento Docs pokazują odmiany, które zapewniają timepicker:
Chcę to za pomocą UiComponent w mojej formie.
Uwaga: Musisz pokazać harmonogram, aby data nie była potrzebna.
Sprawdzone odniesienie: Jak dodać próbnik zakresu czasu do formularza adminhtml w Magento 2? (Ale używa bloku, chcę używać UiComponent)
magento-2.1
uicomponent
time
Ronak Chauhan
źródło
źródło
Odpowiedzi:
Musisz „stworzyć” * swój własny komponent interfejsu użytkownika. Możesz to zrobić, rozszerzając składnik interfejsu użytkownika daty.
# 1 Dodaj kod XML do formularza
Dodaj pole do zestawu pól. W tym przykładzie wywoływany jest komponent, który będziemy tworzyć
time
. Zauważ, że możesz zadeklarować atemplate
w następującym pliku XML. Jednak tak naprawdę nie przyniesie to żadnego pożytku, ponieważ szablon XHTML zawinie szablon Knockout, który faktycznie renderuje. Istnieją inne węzły, które możesz zadeklarować tutaj, np. Sprawdzanie poprawności.# 2 Utwórz komponent interfejsu użytkownika
Kilka uwag na temat powyższego Javascript:
elementTmpl
to nie jest konieczne. Jeśli jednak chcesz dostosować szablon (obecniemodule-ui/view/base/web/templates/form/element/date.html
), po prostu stwórz własny szablon i odwołaj się do niegoelementTmpl
.Dostępnych jest więcej opcji. Możesz znaleźć więcej na ich temat: http://trentrichardson.com/examples/timepicker/#tp-options . W kodzie znajduje się lista wszystkich wartości domyślnych:
/lib/web/jquery/jquery-ui-timepicker-addon.js
Wynik końcowy:
definitions.xml
. Można je jednak rozszerzyć przy minimalnym wysiłku. (I jeśli istnieje sposób, proszę dać mi znać).źródło
Możesz po prostu użyć tego kodu XML do tego samego wyniku, jak powyżej:
Wynik:
źródło