Quiero mostrar el selector de tiempo en mi formulario UiComponent
A medida que Magento Docs muestra las variaciones, proporciona un selector de tiempo:
Quiero esto usando UiComponent en mi forma.
Nota: es necesario mostrar la hora programada para que no se necesite una fecha.
Referencia comprobada: ¿Cómo agregar un selector de rango de tiempo al formulario adminhtml en Magento 2? (Pero está usando el bloque, quiero usar UiComponent)
magento-2.1
uicomponent
time
Ronak Chauhan
fuente
fuente
Respuestas:
Necesita "crear" * su propio componente de interfaz de usuario. Puede hacerlo extendiendo el Componente de IU de fecha.
# 1 Agregue el XML a su formulario
Agregue el campo al conjunto de campos. En este ejemplo, se llama al componente que crearemos
time
. Tenga en cuenta que puede declarar untemplate
en el siguiente XML. Sin embargo, realmente no servirá de nada, ya que es la plantilla XHTML la que envolverá la plantilla Knockout que realiza el renderizado real. Hay otros nodos que puede declarar aquí como validación.# 2 Crear el componente de la interfaz de usuario
Algunas notas sobre el Javascript anterior:
elementTmpl
no es necesario. Sin embargo, si desea personalizar la plantilla (actualmentemodule-ui/view/base/web/templates/form/element/date.html
), simplemente cree su propia plantilla y haga referencia a ellaelementTmpl
.Hay más opciones para la entrada. Puede encontrar más información sobre ellos: http://trentrichardson.com/examples/timepicker/#tp-options . En el código, hay una lista de todos los valores predeterminados aquí:
/lib/web/jquery/jquery-ui-timepicker-addon.js
Resultado final:
definitions.xml
. Sin embargo, puede extenderlos con un mínimo esfuerzo. (Y, si hay alguna manera, hágamelo saber).fuente
Puede usar este código xml para obtener el mismo resultado que el anterior:
Resultado:
fuente