Soy nuevo en Primevue, aquí está mi código:
<!-- users here is an array of User object --> <DataTable :value="users" :rows="10" :paginator="true"> <Column field="username" header="Username" :sortable="true"></Column> <Column field="email" header="Email" :sortable="true"></Column> <Column field="role.name" header="Role" :sortable="true"></Column> <Column field="cars" header="Cars" :sortable="true"> </Column> </DataTable>Esto es lo que hay dentro de un objeto de usuario:
User { username: 'test', email: 'test@junk.com', id: 1, role: { id: 1, name: 'Admin', description: 'Admin user', }, cars: [ [Object], [Object] ] }, Actualmente, las propiedades de los cars contienen :
[ { "id": 1, "title": "Subaru BRZ" }, { "id": 2, "title": "Lotus Evora GT" } ]Es un objeto muy simple. Mi objetivo es mostrar el título de los autos para un usuario , en la misma columna y en la misma fila ( campo "autos" ) usando Primevue Datatable y Column .
Aquí está el Datatable modificado:
<DataTable :value="users" :rows="10" :paginator="true"> <Column field="username" header="Username" :sortable="true"></Column> <Column field="email" header="Email" :sortable="true"></Column> <Column field="role.name" header="Role" :sortable="true"></Column> <Column field="cars" header="Cars" :sortable="true"> <template #body="slotProps"> <span v-for="car in slotProps.data.cars">{{car.title}}</span> </template> </Column> </DataTable>¿Qué tal usar la <template> dentro del componente <Column> ? :)
Parece que hay una buena explicación en los documentos: https://www.primefaces.org/primevue/datatable (mire la sección Plantillas. Lo siento, no hay forma de publicar el enlace directo)
Espero que ayude