Tema 7
Tema 7
Tema 7
Componentes IONIC:
Progress indicators
Índice
Esquema 3
Ideas clave 4
7.1. Introducción y objetivos 4
7.2. ion-loading 5
7.3. ion-progress-bar 6
7.4. ion-spinner 10
7.5. ion-range 12
© Universidad Internacional de La Rioja (UNIR)
7.6. ion-radio 17
7.7. ion-refresher 20
7.8. ion-refresher-content 22
7.9. ion-reorder 26
A fondo 31
Test 35
Esquema
© Universidad Internacional de La Rioja (UNIR)
Accede al repositorio público desde el aula virtual o a través del siguiente enlace:
https://bitbucket.org/muchachodry/ionic-base-app/src/master/
Este componente nos ofrece una pantalla que se muestra mientras se cargan los
datos a mostrar en la página. Su funcionamiento es muy similar a los componentes
expuestos en los anteriores temas y los atributos, eventos y funciones prácticamente
los mismos. La diferencia es que, esta vez, no tenemos que crear un componente que
vayamos a mostrar, ya que el propio LoadingController sabe qué tiene que pintar, y
lo pasaremos por parámetro las personalizaciones pertinentes. Para crear el
componente seguiremos el modelo de la siguiente captura.
7.3. ion-progress-bar
Propiedades:
© Universidad Internacional de La Rioja (UNIR)
Ejemplo:
La figura 3 sería una barra de progreso por defecto y sin atributos, visualmente
quedaría así:
Si le añadimos value:
Para usarlo debes añadir el nombre de spinner que quieres utilizar. En el ejemplo los
listamos:
© Universidad Internacional de La Rioja (UNIR)
7.5. ion-range
Este componente permite seleccionar un valor o rango. Puedes añadir labels a los
lados del componente seleccionando el slot start o end con el mismo funcionamiento
que ya hemos visto en otros componentes:
Propiedades:
componente.
dualKnobs: Permite añadir otro marcador para poder seleccionar uno.
max y min: Cada uno es una propiedad y sirve para setear el valor mínimo y máximo
del rango.
Eventos:
Hemos creado una página radio-range-example donde, aparte de los ejemplos de los
rangos, vamos a mostrar también los de otro componente. Pero ahora centrémonos
en los rangos:
© Universidad Internacional de La Rioja (UNIR)
Como veis, donde está situado el marcador, está situada la barra de progreso.
Podemos hacer uso de los <ion-icon> y sus atributos slot para colocarlo en ambos
lados, simulando un “menor”/“mayor” con su tamaño.
© Universidad Internacional de La Rioja (UNIR)
Como vemos, en este ejemplo se hace el uso de la propiedad dual-knobs para tener
dos marcadores y poder elegir un rango.
Hemos simulado un termómetro que va a tener un valor entre -10 y 50 grados. Para
ello, utilizamos snap y step para remarcar cuando tiene cada rango.
© Universidad Internacional de La Rioja (UNIR)
Propiedades:
Eventos:
Propiedades:
Eventos:
En este primer ejemplo, vemos que el valor por defecto es goodfather. Además,
hemos hecho que aparezcan todos los radios al principio de la vista:
7.7. ion-refresher
Propiedades:
animated: Boolean, por defecto habilitado, hace una animación que hace aparecer
el modal.
closeDuration: Tiempo que tarda en cerrarse el refresher. No se aplica cuando
© Universidad Internacional de La Rioja (UNIR)
Eventos:
Funciones:
usuario para que se active el refresco. Si es menor que 0, quiere decir que el
refresco de contenido no se va a activar. Si es 1 o mayor, significa que va a entrar
en el estado refreshing.
7.8. ion-refresher-content
Propiedades:
Vamos a poner un ejemplo de uso. Hemos adaptado lo que ya teníamos hecho con el
infiniteScroll para lo que nosotros queremos. Como siempre, hemos creado una
página ion-refresher y lo hemos añadido al menú para poder navegar hasta él. El
HTML:
© Universidad Internacional de La Rioja (UNIR)
Para mostrar el contenido, hemos hecho un ion-list. Cada uno de los elementos
que va a cargar va a ir en un <ion-item> usando la directiva *ngFor. Dentro ponemos
el nombre y el contenido que, en este caso, es un texto aleatorio. Veamos la
implementación en el TS.
Primero definimos un array llamado Xmen, donde vamos a cargar todos los
elementos con posibles nombres y un texto genérico.
© Universidad Internacional de La Rioja (UNIR)
La función wait solo lleva un timeOut de los milisegundos que se lo pasen por
parámetro.
Visualmente cargando:
© Universidad Internacional de La Rioja (UNIR)
7.9. ion-reorder
Este componente permite reordenar los elementos dados en un grupo. Basta con
pinchar y arrastrar por el grupo. El componente padre y donde debe estar cada
elemento es <ion-reorder-group>. Veamos los atributos de este componente padre:
© Universidad Internacional de La Rioja (UNIR)
Propiedades:
disabled: Boolean que deshabilita o no el componente.
Métodos:
complete: Completa la reordenación. Debemos llamarlo desde el evento
ionItemReorder.
Para verlo en la práctica, creamos una nueva página para poner nuestro nuevo
ejemplo, reorder-group, y lo agregamos al menú de ejemplos. Añadimos el
componente <ion-reorder-group> y, cuando se dispara el evento ionItemReorder,
llamamos a una función doReorder. Por defecto, va a estar desactivado la opción de
ordenar.
Tras esto, dentro tenemos n ion-items y dentro de cada uno se añade un <ion-
reorder>. En nuestro caso, hemos seleccionado el icono al final de la fila mediante el
slot=“end”.
© Universidad Internacional de La Rioja (UNIR)
En el TS de la página:
Hacemos uso del decorador ViewChild (recordemos de Angular) que sirve para poder
modificar/consultar un elemento del HTML. En este caso, lo hacemos con el elemento
que se encarga de reordenar.
Una vez desactivado, pulsando el botón que se encarga de ello, vuelve a estar
desactivada la edición y el nuevo orden establecido se mantiene.
Este enlace nos lleva directamente a la documentación oficial del componente ion-
loading. En ella podemos encontrar todas las opciones que nos ofrece el
componente. Esta documentación es vital para adaptar el componente a los
requisitos de nuestra aplicación, ya que nos ofrecen muchas combinaciones para ello.
Componente ion-progress-bar
Este enlace nos lleva directamente a la documentación oficial del componente ion-
progress-bar.
© Universidad Internacional de La Rioja (UNIR)
Este enlace nos permite navegar por la documentación oficial del componente ion-
spinner. En ella podemos encontrar todos los atributos, funciones y eventos de los
que disponga este componente y cómo adaptar el componente a los requisitos de
nuestra aplicación.
Componente ion-radio
Este enlace nos permite navegar por la documentación oficial del componente ion-
radio. Como en los recursos anteriores, podemos encontrar todos los atributos,
funciones, eventos y posibles combinaciones para nuestra aplicación.
© Universidad Internacional de La Rioja (UNIR)
Este enlace nos permite navegar por la documentación oficial del componente ion-
refresher.
Componente ion-refresher-content
Este enlace nos permite navegar por la documentación oficial del componente ion-
refresher-content.
© Universidad Internacional de La Rioja (UNIR)
Este enlace nos permite navegar por la documentación oficial del componente ion-
reorder.
© Universidad Internacional de La Rioja (UNIR)
4. ¿Con qué atributo indicas el spinner que quieres mostrar dentro del componente
ion-spinner?
A. type.
B. name.
C. value.
© Universidad Internacional de La Rioja (UNIR)
D. color.
6. ¿Qué propiedad tenemos que situar a true de un ion-range para que aparezca el
número entero en el que situamos el punto?
A. value.
B. min.
C. max.
D. pin.
9. ¿Qué componente nos ofrece cargar más contenido pulsando ligeramente hacia
abajo en la pantalla?
© Universidad Internacional de La Rioja (UNIR)
A. ion-scroll.
B. ion-infinte-scroll.
C. ion-refresher.
D. ion-tab.