es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El desplegable principal muestra “object Object” en lugar del nombre.

Estoy utilizando PrimeNG y el desplegable recupera datos de una API pero muestra “object object” en lugar de projectName.
Los códigos HTML son:

<p-dropdown [options]="projects" [(ngmodel)]="selectedProject" name="selectedProject" placeholder="Selecciona un proyecto" optionlabel="projectName" (onchange)="onChange($event)"></p-dropdown>

y en el archivo Ts:

import { Component, OnInit } from '@angular/core';
import { DBconnectionService } from '../dbconnection.service';
import { ProjectModel } from '../project-model';
import { PrimeNGConfig } from 'primeng/api';
import { EmployeeModel } from '../employee-model';



@Component({
  selector: 'app-assignments',
  templateUrl: './assignments.component.html',
  styleUrls: ['./assignments.component.css']
})
export class AssignmentsComponent implements OnInit {


  employees: EmployeeModel[];
  projects: ProjectModel[];
  selectedProject: ProjectModel;


  constructor(private Service:  DBconnectionService, private primengConfig: PrimeNGConfig) {
    this.Service.getEmployee().toPromise().then(data => this.employees = data);
    this.Service.getproject().toPromise().then(data =>
      {
      this.projects = data;
    });
   }

Por favor, dígame qué hice mal.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que hay un error tipográfico en tu código HTML donde escribiste mal “optionLabel” como “optionLable”. Esta podría ser la razón por la cual el menú desplegable muestra “object object” en lugar del nombre del proyecto.

    Intenta cambiar la línea relevante en tu código HTML a:

    optionLabel="projectName"
    

    Además, asegúrate de que la propiedad projectName esté correctamente definida en tu clase ProjectModel.

Comments are closed.