Угловой пользовательский ввод не работает корректно с formControlName внутри цикла

#html #angular #typescript #ngfor #form-control

#HTML #angular #typescript #ngfor #form-control

Вопрос:

я хочу применить пользовательский стиль темы к angular, но флажок не работает правильно.

у меня есть эта часть кода, и она работала очень хорошо :

 <tr *ngFor="let item of lists let i=index" [formGroupName]="i">
    <td>
        <div class="form-group">
            <div class="custom-control custom-switch">
                <input type="checkbox" class="form-control" id="field_check"  formControlName="checked">
                <label class="form-control-label"  for="field_check">check</label>
            </div>
        </div>
    </td>
</tr>
  

Но когда я пытаюсь добавить пользовательский элемент управления классом, который не работает :

 <tr *ngFor="let item of lists let i=index" [formGroupName]="i">
    <td>
        <div class="form-group">
            <div class="custom-control custom-switch">
                <input type="checkbox" class="custom-control-input" id="field_check" formControlName="checked">
                <label class="custom-control-label"  for="field_check">check</label>
            </div>
        </div>
    </td>
</tr>
  

как применить мой, class="custom-control-input" не теряя class="form-control" ? я уже пробовал это class="form-control custom-control-input" , но не сработало

Обновить

после проверки элемента я обнаружил это :

css

итак, когда вот результат, который я получил :

Результат

у меня нет доступа к коду CSS, custom-control-input и form-control how могу ли я это исправить?

Ответ №1:

Это должно работать идеально, лучше всего, если вы можете видеть, какой стиль применяется к элементу управления, используя элемент inspect. Может быть, это переопределено классом form-control. Возможно, вам придется использовать! Важно в классе.

Комментарии:

1. применяется стиль пользовательского элемента управления вводом, и все работает очень хорошо, но проблема в том, что все флажки в цикле изменяют только первый.

2. это потому, что [formGroupName] = «i» не применяется к пользовательскому элементу управления вводом

3. @ZINEMahmoud привет, ты нашел решение для этого, борясь с той же проблемой

4. @Avinash попробуйте воспроизвести вашу проблему в stackblitz, и я постараюсь исправить это вместе с вами!!