#angular #asynchronous #drop-down-menu #angular-ng-if
Вопрос:
У меня есть выпадающий компонент select с переменной @Input option.
Я хочу отобразить параметры в другом экземпляре этого компонента на основе того, что выбрано в первом
Как этого добиться?
<select *ngIf="option=='city'" class="form-select border-blue" id="exampleFormControlSelect1">
<option selected>Select City</option>
<option *ngFor="let city of cities" value="{{city}}">{{city}}</option>
</select>
Мое текущее «решение» — добавление тега выбора в качестве нового элемента в новой строке, в то время как мне нужно, чтобы зависимый элемент выбора всегда был на странице и ждал первого выбора
<select *ngIf="selectedCity|async" class="form-select border-blue" id="exampleFormControlSelect1">
<option selected>Select district</option>
<option *ngFor="let dist of (districts|async)" value="{{dist}}">{{dist}}</option>
</select>
https://stackblitz.com/edit/angular-ivy-5qthim?file=src/app/select-one/select.component.html
Комментарии:
1. Не совсем уверен, что вы хотите здесь сделать. Может быть, создать пример StackBlitz
2.да, спасибо @Drenai, пожалуйста, смотрите Ссылку stackblitz курсив полужирный
code
, поэтому я хочу, чтобы на экране ВСЕГДА было меню выбора района с выбранной опцией по умолчанию, и когда я выбираю город, районы будут заполнены в настройках
Ответ №1:
Ну, решение для меня было довольно простым,
- Я передал выбранный город родительскому компоненту,
- передал его через функцию, получил массив районов для этого конкретного города
- Передал массив районов из родительского компонента в мой выбранный (дочерний) компонент.
Моя ошибка заключалась в том, что я пытался добиться функциональности от самого компонента выбора.
Если есть способ сделать это с помощью асинхронного канала, пожалуйста, поделитесь