Мне нужно, чтобы данные о штате и районе в том же окне выбора с NG для угловых 5 - PullRequest
0 голосов
/ 09 мая 2018

Это мое значение JSON,

{
"location": [{
        "state": "state1",
        "cities": [{
                "city1": "city1"
            },
            {
                "city2": "city2"
            }
        ]
    },
    {
        "state": "state2",
        "cities": [{
                "city1": "city1"
            },
            {
                "city2": "city2"
            },
            {
                "city3": "city"
            }
        ]
    }
]

}

образец вывода в поле выбора:

state1 - имя штата - родительский элемент

city1 - название города - ребенок

City2


state2 - имя штата - родитель

city1 - название города - ребенок

City2

city3

    <select>
      <option *ngFor="let locations of location">
        {{locations.state}}{{locations.cities.citiname}}
      </option>
   <select>

это не мультиселект. это как группировка по штатам по городам.

Заранее спасибо.

1 Ответ

0 голосов
/ 09 мая 2018

Вы можете использовать атрибут optgroup для элемента select.

<select>
  <optgroup *ngFor="let location of locations" [label]="location.state">
    <option *ngFor="let city of location.cities">{{Utils.keys(city)[0]}}</option>
  </optgroup>
</select>

Машинопись

Utils = {
     keys : Object.keys
}

Вы не можете использовать напрямую Object.keys, потому что Object является частью window/global, а angular не может оценить это выражение.

...