0
votes

Comment transmettre la colonne de matrice au champ d'objet à partir d'un tableau

ci-dessous est mon code, j'essaie de transmettre les valeurs à partir du "Datataliste" à cet objet "Labels" "Les étiquettes" -> données;

mais je reçois un résultat indéfini si Valeurs variables et stockez les valeurs, puis transmettez-la aux lampes, données.

voici ma question est la manière dont les valeurs définies pour les étiquettes, les données de Datalist Array. xxx

// maintenant je veux accéder à toutes les étiquettes pour étiqueter, tous les numéros aux données de ci-dessous au lieu de données statiques, je souhaite mettre des données de DATALIST xxx

au lieu de valeurs statiques dans les étiquettes, des données que je souhaite mettre des données dynamiques dans Datatalist.


2 commentaires

Votre getencounterdashboard () est une méthode asynchrone. Attribuez plutôt votre ceci.data.labels à l'intérieur de votre S'abonner Rappel.


C'est bon mon ami, je stocke des données dans ce fichier.Dataliste il a toutes les valeurs. Je souhaite stocker l'une des colonnes à partir de Datalist et qui devrait être dans les étiquettes, et une autre est dans les données.


3 Réponses :


0
votes

Si vous souhaitez avoir étiquettes avoir les mêmes éléments que Datatalist : xxx

Si vous souhaitez éviter les mutations: xxx

ou: xxx


3 commentaires

Bonjour Mate, merci pour votre réponse, j'ai deux colonnes dans "Datatalist" et je souhaite stocker toutes les premières données de colonne dans les étiquettes et que la seconde sera dans les données.


Ensuite, faites Labels: Datalist [0] .


Je crois que vous voulez dire des étiquettes: cela.dataliste [0]. Cela me donne un typeError.



0
votes

Vous devez mettre votre code dans le bloc fonction .Subscribe (), car il est asynchrone et vous devrez attendre que les données soient renvoyées. Ensuite, il suffit d'assigner aux étiquettes et jeux de données de variables. J'ai utilisé ES6 ici, mais vous n'avez pas besoin de.

dataList: Array<any> = [];
data: any = {}; //give data an inital value
searchCond: SearchConditions;

constructor(private apiService: ApiService) {

this.searchCond = new SearchConditions();
this.searchCond.eventType = "encounterType";

this.apiService.getEncounterDashBoard(this.searchCond)
  .subscribe(data => {
    this.dataList = data.result;
    let [labels, datasets] = this.dataList; 
    this.data = {
      labels: labels,
      datasets: datasets,
    };
  });


5 commentaires

J'ai déjà essayé cela, si je le gardais à l'intérieur. Subscribe, cela ne donnera pas à lire les «jeux de données» de la propriété d'une erreur indéfinie.


@Haari donnez des données une valeur inpertorielle de {}, alors vous ne devez pas obtenir cette erreur. Prenez note, car une fonction d'abonnement ne fonctionnera que après avoir récupéré les données, toute fonction nécessaire pour utiliser DataList devra être appelée à l'intérieur de la fonction d'abonnement. J'ai mis à jour ma réponse


Dans l'étiquette et les données, je souhaite stocker une colonne à partir du DATALISTE de chacun. Supposons que j'ai deux colonnes dans Datalist. Les données de la première colonne doivent être stockées dans des étiquettes, comme indiqué comme des données statiques, et la deuxième colonne sera destinée aux données. Enfin, mon rendement devrait être comme des données statiques que j'ai mentionnées ci-dessus. Dans votre chemin, il ne montre pas de valeurs.


OK, pouvez-vous mettre à jour votre question pour montrer la structure de DATALISTE ?


Je viens de mettre à jour et édité le code pour votre mieux comprendre.



1
votes

Vous pouvez simplement utiliser Réduire < / a> fonction pour avoir travaillé.

Stackblitz Demo - Vous pouvez modifier this.dataliste < / Code> Variable pour voir la sortie Changer de modification dynamique xxx


0 commentaires