Filtros y Ordenamiento en Tablas de Datos con JavaScript
Clase 36 de 38 • Curso Básico de Vue.js 2
Contenido del curso
- 4

Renderizado Declarativo en JavaScript: Estado y Vista Sincronizados
02:09 - 5

Uso de Expresiones JavaScript en Plantillas de Vue.js
02:06 - 6

Directivas para Atributos Dinámicos en HTML con Vue.js
06:44 - 7

Directivas de Renderizado Condicional en HTML con Vue.js
05:02 - 8

Uso de la Directiva v-for en Vue.js para Renderizar Listas
05:48 - 9

Manejo de Eventos en Vue.js: Click y Mouseover
07:04 - 10

Condiciones y Clases Dinámicas en Vue.js
06:46 - 11

Estilos Dinámicos en JavaScript: Cambios de Color Interactivos
02:49 - 12

Propiedades Computadas y Watchers en Vue.js
05:42 - 13

Interacción dinámica con formularios y directivas en Vue.js
03:34 - 14
"Crear un Tracker de Cursos con Vue.js"
00:45
- 15

Sistema de Componentes en Fren Word: Modularización y Reutilización
02:54 - 16

Creación de Componentes Personalizados en Vue.js
06:44 - 17

Comunicación entre Componentes en Vue.js: Props y Data Binding
17:28 - 18

Comunicación entre Componentes en Vue: Emisión y Manejo de Eventos
06:17 - 19

Uso de Slots para Inyectar HTML en Componentes Hijos
04:18 - 20

Ciclo de Vida de Componentes en Vue.js
03:40 - 21

Componentes de Vue: Creación y Gestión Eficiente
01:23 - 22
Componente Modal y Componente Principal en Vue.js
00:44
- 27

Instalación y configuración de Tailwind CSS en proyectos HTML
06:40 - 28

Creación y Gestión de Componentes VUE en Proyectos Web
12:02 - 29

Creación de Aplicaciones SPA con Vue Router
15:37 - 30

Uso de Fetch API para Interactuar con Servidores HTTP
15:45 - 31

Filtros y Directivas para Mejorar Interfaces en JavaScript
09:33 - 32

Creación de Rutas Dinámicas en Vue.js para Criptomonedas
21:36 - 33

Navegación Dinámica y Programática en Vue.js
12:23 - 34

Integración de Componentes de Terceros en Proyectos Vue.js
12:01 - 35

Manejo de Problemas de Reactividad en Vue.js
17:44 - 36

Filtros y Ordenamiento en Tablas de Datos con JavaScript
11:25 - 37

Implementación de Rutas Dinámicas y Conversor de Criptomonedas en Vue.js
13:38
¿Cómo optimizar el filtro de criptomonedas y agregar funcionalidades?
Las aplicaciones web modernas requieren una experiencia de usuario fluida y eficiente. Parte de esto incluye ofrecer filtros en tiempo real y capacidades de ordenación que mejoren la interacción del usuario con los datos. En esta guía, te mostraremos cómo implementar un filtro de búsqueda y ordenar una lista de criptomonedas usando Vue.js. Vamos a explorar primero cómo construir estas funcionalidades y luego cómo integrarlas en nuestra plataforma.
¿Cómo implementar un filtro de búsqueda en tiempo real?
Para proporcionar una experiencia de filtrado en tiempo real, usaremos un input de HTML que se vincula dinámicamente a nuestra lista de criptomonedas. Este input permitirá a los usuarios escribir cualquier texto y filtrar la lista de acuerdo con el símbolo o nombre de la criptomoneda.
-
Creación de un input para filtrar:
- Añadir un elemento
inputen elheaderde la tabla en tu componente Vue. - Utilizar
v-modelpara vincular el valor del input a una propiedad llamadafilter.
<template> <input v-model="filter" placeholder="Filtrar..." /> </template> - Añadir un elemento
-
Definición de la función de filtrado:
- En el objeto
datadel componente, inicializa la propiedadfiltervacía. - Crea una propiedad computada (
computed property) que use la funciónfilter()de JavaScript para filtrar la lista de criptomonedas basada en el valor delinput.
data() { return { filter: '' }; }, computed: { filteredCryptos() { if (!this.filter) return this.coins; return this.coins.filter(coin => { return coin.symbol.toLowerCase().includes(this.filter.toLowerCase()) || coin.name.toLowerCase().includes(this.filter.toLowerCase()); }); } } - En el objeto
¿Cómo ordenar la lista de criptomonedas por ranking?
Una habilidad esencial para mejorar la UX es permitir que los usuarios ordenen la lista de criptomonedas por varios criterios, como el ranking ascendente o descendente. Implementaremos esto utilizando la función sort() de JavaScript.
-
Agregar soporte para ordenamiento:
- Introducir una nueva propiedad
sortOrderen el objetodatapara definir el orden actual (ascendente o descendente).
data() { return { sortOrder: 1 // 1 para ascendente, -1 para descendente }; } - Introducir una nueva propiedad
-
Modificación de la propiedad computada:
- Ampliar la propiedad computada para ordenar la lista de criptomonedas después de aplicar el filtro.
computed: { sortedAndFilteredCryptos() { let filtered = this.filteredCryptos; return filtered.sort((a, b) => (a.rank - b.rank) * this.sortOrder); } } -
Configuración visual y funcional del cambio de orden:
- Asegurarse de proporcionar una interfaz de usuario para cambiar el orden haciendo clic en el encabezado de columna.
<th @click="toggleSortOrder" class="sortable"> Ranking </th>methods: { toggleSortOrder() { this.sortOrder = this.sortOrder === 1 ? -1 : 1; } }
¿Cómo asegurar que la funcionalidad sea intuitiva y agradable?
- Indicaciones visuales: Usa clases CSS para subrayar o cambiar el cursor al pasar sobre los encabezados clicables.
- Clasificación en ambas condiciones: Asegúrate de que la lista pueda ordenarse independientemente de si hay un filtro aplicado o no. Elimina condiciones innecesarias que impidan el ordenamiento sin un filtro.
- Testing en diferentes casos: Probar la funcionalidad con varias entradas y asegurarse de que se manejen correctamente todos los escenarios posibles.
Con estas sencillas pero efectivas adiciones, tu aplicación no solo se verá más profesional sino que también proporcionará una experiencia más intuitiva y eficiente para los usuarios. ¡Continúa perfeccionando tus habilidades y disfruta creando experiencias enriquecedoras!