Я надеюсь, что у вас есть HTML и структура массива, как это. Если нет, пожалуйста, помогите мне, я настрою структуру массива в соответствии с вашими данными.
// CSS
.drop-down-selection{
min-height: 30px;
border: 1px solid #000;
margin-top: 10px;
margin-bottom: 10px;
}
<mat-select *ngFor="let level of myArray; let i=index" placeholder="{{level.name}}" class="drop-down-selection" [(value)]="level.children[0]['name']">
<mat-option *ngFor="let child of level.children | keyvalue" value="{{child.value.name}}">
{{child.value.name}}
</mat-option>
</mat-select>
this.myArray = [
{
name: 'A',
children: [
{
name: 'One',
desc: 'No description'
},
{
name: 'Two',
desc: 'No description'
}
]
},
{
name: 'B',
children: [
{
name: 'three',
desc: 'No description'
},
{
name: 'four',
desc: 'No description'
}
]
},
{
name: 'C',
children: [
{
name: 'five',
desc: 'No description'
},
{
name: 'six',
desc: 'No description'
}
]
},
{
name: 'D',
children: [
{
name: 'seven',
desc: 'No description'
},
{
name: 'Two',
desc: 'No description'
}
]
},
{
name: 'E',
children: [
{
name: 'eight',
desc: 'No description'
},
{
name: 'nine',
desc: 'No description'
}
]
}
];
Дайте мне знать, если это не сработает. Я настрою что-то другое.