Si encuentras algún detalle que te causa duda nos puedes dejar un comentario y te responderemos lo mas rápido que podamos.
Solución:
En tus usuario.componente.ts, declare su var de datos vacío para inicializarlo. No sé por qué, pero tuve el mismo problema cuando actualicé la página. Creo que los datos se han perdido, por lo que debe inicializarlos. Tal vez la tabla de datos necesite saber que hay una matriz y, después de llenarla, funciona.
ngOnInit()
this.data = [];
this.getUsers();
ESTABA EQUIVOCADO
Debe volver a procesar la tabla de datos porque si vuelve a procesar la inicialización arroja un error, es por eso que tiene el mensaje que dice “no hay datos disponibles” a pesar de que tiene en la tabla.
ACTUALIZAR
En su componente, declare esta variable:
@ViewChild(DataTableDirective)
dtElement: DataTableDirective;
dtOptions: DataTables.Settings = ;
dtTrigger: Subject = new Subject();
después de extraer sus datos de cualquier servicio que tenga:
this.officeSrv.getAll().subscribe((data) =>
console.log('----> office service : get all data', data);
this.offices = data.offices;
// ADD THIS
this.dtTrigger.next();
, (err) =>
console.log('-----> err', err);
)
Si tiene una modificación para realizar modificaciones directamente en la misma tabla de datos sin cambiar la página, cree y llame a esta función
rerender(): void
this.dtElement.dtInstance.then((dtInstance: DataTables.Api) =>
// Destroy the table first
dtInstance.destroy();
// Call the dtTrigger to rerender again
this.dtTrigger.next();
);
Utilice esta biblioteca en su componente:
import DataTableDirective from 'angular-datatables';
En el módulo de tu aplicación:
import DataTablesModule from 'angular-datatables';
Y declara esto:
imports: [
...,
DataTablesModule
Y finalmente para su plantilla (HTML):
Nom
Adresse
Actions
office.name
office.adress
espero que sea de ayuda
fuente: https://l-lin.github.io/angular-datatables/#/advanced/rerender
Entonces, en mi caso, las tablas de datos se activan antes de recibir la respuesta del servidor. Acabo de agregar * ngIf para mi tabla y funcionó para mí. Como abajo.
Tiempo de espera agregado para resolver su problema.
setTimeout(function ()
$(function ()
$('#user-table').DataTable();
);
, 3000);
consulte este enlace de video que encontré en youtube https://www.youtube.com/watch?v=78X8ZRU9Hy8
Te mostramos las comentarios y valoraciones de los usuarios
¡Haz clic para puntuar esta entrada!(Votos: 0 Promedio: 0)
Utiliza Nuestro Buscador