Отключить флажки в таблице на основе formvalues angular

#javascript #angular #typescript #angular5 #angular7

#javascript #angular #typescript #angular5 #angular7

Вопрос:

У меня есть поле формы с именем Value . введите описание изображения здесь

У меня есть кнопка добавления, которая дублирует форму.

У меня есть кнопка таблицы, которая показывает и кнопка возврата, чтобы скрыть таблицу.(Забудьте о кнопке удаления)

введите описание изображения здесь

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

введите описание изображения здесь

Скажем, например, если я ввел 2 в эту форму, я могу щелкнуть до 2 флажков в этой таблице.

После этого я возвращаюсь к форме, нажав кнопку «Назад«.

Моя проблема:

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

Я объяснил свою проблему так ясно, как мог. Если у вас есть сомнения по поводу моего вопроса, пожалуйста, прокомментируйте. Спасибо.

Примечание: В моем stackblitz я опубликовал пример своего кода простым (без расширенного пользовательского интерфейса) способом

Stackblitz: https://stackblitz.com/edit/angular-ivy-g8cty1?file=src/app/app.component.ts

Ответ №1:

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

Вы можете сделать это с помощью привязки событий:

 <td>
    input  type="checkbox" id="vehicle2" name="vehicle2" 
      (change)="addCheckValue(i,list.isTicked)"
      [checked]="list.isTicked"
      [disabled]="list.isDisabled">
  </td>


  <td *ngIf="list.isDisabled">
            Already disabled
    </td>



addCheckValue(index,isChecked){
    if(isChecked === undefined){
      isChecked = true
    }
    this.listes[index].isTicked = isChecked;

  }



//disabled checked boxes on close 
this.listes = this.listes.map(e => {
      if (e.isTicked === true) {
        e.isDisabled = true;
      }
      return e;
});
 

ваш отредактированный репозиторий

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

1. Когда мы нажимаем на флажки, возвращаемся и заходим снова, я хочу, чтобы флажки были отключены @shashan

2. Например, если я нажму 2 флажка, а затем вернусь и продублирую свою форму, и после ввода значения в нее, когда я снова вернусь к своей таблице, уже установленные флажки должны быть отключены (с сообщением рядом с флажком, в котором говорится, что он отключен) Это моя проблема

3. @Leno привет, да, я обновил репозиторий и отредактировал свой ответ. добавлено отключение при закрытии

4. @Leno да, я могу обновить ответ, проверить отредактированную ссылку на репозиторий

5. @Leno ценю это. Попробую, но не уверен, чего вы пытаетесь достичь