Introducción
En este proyecto, aprenderás a convertir y formatear datos de tabla para que se muestren de manera amigable para el usuario. Esta es una tarea común que los desarrolladores frontend a menudo encuentran cuando trabajan con datos del backend.
👀 Vista previa

🎯 Tareas
En este proyecto, aprenderás:
- Cómo enviar una solicitud HTTP para obtener datos de un archivo JSON
- Cómo formatear los datos para que coincidan con el formato requerido para la visualización
- Cómo renderizar los datos formateados en una tabla HTML utilizando Vue.js y Element UI
🏆 Logros
Después de completar este proyecto, podrás:
- Utilizar
axiospara enviar solicitudes HTTP y obtener datos - Manipular y transformar datos al formato deseado
- Integrar Vue.js y Element UI para crear un componente de tabla responsivo y visualmente atractivo
Configurar la estructura del proyecto
En este paso, configurarás los archivos y la estructura del proyecto. Sigue los pasos siguientes para completar este paso:
Abre la carpeta del proyecto. La estructura de directorios es la siguiente:
├── axios.min.js
├── element-ui.css
├── element-ui.js
├── fetchTableData.json
├── index.html
└── vue.js
Haz clic en el botón Go Live en la esquina inferior derecha de WebIDE para ejecutar el proyecto.
Luego, abre "Web 8080" en la parte superior de la VM y actualízala manualmente y verás la página.
Enviar una solicitud para obtener los datos
En este paso, aprenderás a enviar una solicitud HTTP para obtener los datos del archivo fetchTableData.json.
- Abre el archivo
index.htmlen el editor de código. - En la sección
<script>, agrega un nuevo métodogetTableData()a losmethodsde la instancia de Vue. - Dentro del método
getTableData(), utiliza la funciónaxios.get()para enviar una solicitud GET al archivofetchTableData.json:
methods: {
getTableData() {
axios.get("./fetchTableData.json").then((response) => {
// TODO: Formatear los datos y asignarlos a tableData
});
}
}
- Llama a la función
getTableDataen elmountedde la instancia de Vue.
mounted() {
this.getTableData();
},
Formatear los datos
En este paso, aprenderás a formatear los datos al formato requerido y asignarlos a la propiedad tableData.
- Abre el archivo
index.htmlen el editor de código. - En la sección
<script>, localiza el métodogetTableData()dentro de la instancia de Vue. - Dentro de la devolución de llamada de éxito del método
then()en la funcióngetTableData(), obtén la propiedaddatadel objeto de respuesta:
getTableData() {
axios.get("./fetchTableData.json").then((response) => {
let resData = response.data.data;
});
}
Itera a través del array
resDatay formatea los datos de acuerdo con los requisitos:- Para el campo
datetime, convierte el formato deYYYYMMDDaYYYY-MM-DD. - Para el campo
sex, convierte el valor de1a"Hombre"y0a"Mujer". - Para el campo
vip, convierte el valor de1a"Sí"y0a"No".
Aquí está el código para formatear los datos:
getTableData() { axios.get("./fetchTableData.json").then((response) => { let resData = response.data.data; resData.forEach((item) => { item.datetime = `${item.datetime.substring(0, 4)}-${item.datetime.substring(4, 6)}-${item.datetime.substring(6)}`; item.sex = item.sex? "Hombre" : "Mujer"; item.vip = item.vip? "Sí" : "No"; }); }); }- Para el campo
Después de formatear los datos, asigna el array
resDataa la propiedadtableData:getTableData() { axios.get("./fetchTableData.json").then((response) => { //... this.tableData = resData; }); }
Ahora, los datos están formateados y asignados a la propiedad tableData, que se utilizará para renderizar la tabla en el HTML.
El efecto final es el siguiente:

Resumen
¡Felicidades! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.



