Как заполнить список в списке в таблице Angular

У меня есть список значений [1, парацетамол, [{1, местоположение, количество}, {2, местоположение2, количество}] поэтому я должен печатать в две строки 1. [1, парацетамол, местонахождение, количество] 2. [2. парацетамол, местоположение1, количество2]

я сохранил голову headElements = ['Идентификатор лекарства', 'Название лекарства', 'Местоположение', 'Количество']

      <table  class = "table table-striped" >
                        <thead>
                         <tr>
                             <th *ngFor = "let head of headElements" scope = "col">{{ head }}</th>
                          </tr>
                        </thead>
                        <tbody> 
                            <div *ngFor = "let drugDetail of drugList">

                                <tr  *ngFor = "let loc of drugDetail.drugLocationList">
              
                                  <th scope = "row">{{ drugDetail.drugId }}</th>
              
                                  <td>{{ drugDetail.drugName  }}</td>
              
                                   <td>{{loc.location}}</td>
                
                                  <td>{{ loc.quantity}}</td>
                                </tr>
                              </div>
        
                      </table>

выход:

['Drug ID',                         'Drug Name', 'Location', 'Quantity']
[1, paracetamol, location, quantity]
[2. paracetamol, location1, quantity2]
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
21
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Может быть, было бы проще, если бы вы сначала сделали карту данных своего массива, что-то вроде этого:


copyDrugList = drugList.map(drugDetail => [
{  drugId    : drugDetail.drugLocationList[0].drugId   ,
   drugName  : drugDetail.drugName ,
   location  : drugDetail.drugLocationList[0].location ,
   quantity  : drugDetail.drugLocationList[0].quantity ,
},
{  drugId    : drugDetail.drugLocationList[0].drugId   ,
   drugName  : drugDetail.drugName ,
   location  : drugDetail.drugLocationList[1].location ,
   quantity  : drugDetail.drugLocationList[1].quantity ,
},
]);

Затем вам нужно всего лишь сделать классический Angular HTML ngFor:

<tr *ngFor = "let drugDetail of copyDrugList ">
   <td>{{ drugDetail.drugId    }}</td>
   <td>{{ drugDetail.drugName  }}</td>
   <td>{{ drugDetail.location  }}</td>
   <td>{{ drugDetail.quantity  }}</td>
</tr>
                      

Другие вопросы по теме