Выберите родительский флажок на основе дочернего флажка

#angular #typescript

#угловатый #машинопись

Вопрос:

Я пытаюсь установить родительский флажок, когда установлен дочерний флажок. Но проблема в том, что мой код выбирает все родительские флажки. И у меня нет выбранной недвижимости для каждой категории. Мне нужно как-то использовать индекс, чтобы настроить таргетинг на точную родительскую категорию, это мой код.

  <ul class="categories">
              <ng-container *ngFor="let cat of categories; let i = index">
                <li>
                  <input
                    formControlName="parentCat"
                    [checked]="parent"
                    type="checkbox"
                    [value]="cat.name"
                  />
                  {{ cat.name }}
                  <ng-container
                    *ngFor="let sub of cat.sub_categories; let k = index"
                  >
                    <li *ngIf="cat.sub_categories">
                      <input
                        formControlname="childCat"
                        (change)="categoryChange($event, cat)"
                        type="checkbox"
                        value="sub.name"
                      />{{ sub.name }}
                    </li>
                  </ng-container>
                </li>
              </ng-container>
            </ul>
 

Теперь вот моя функция

 parent: boolean;
categoryChange(event) {
    if (event.target.checked === true) {
      this.parent = true;
    } else {
      this.parent = false;
    }
  }
 

Каждая дочерняя категория должна выбирать связанную родительскую категорию.

Ответ №1:

Здесь родительский является глобальным, который вам нужно установить для каждой категории.

https://stackblitz.com/edit/angular-txhnxj