Получение списка идентификаторов включенных флажков angular

У меня есть таблица, в которой у меня есть определенный столбец в качестве флажков. Я назначил пустой список. Итак, что я хочу, так это то, что мне нужны идентификаторы строк включенных флажков. Скажем, например, если флажки включены в идентификаторах 4 и 5, тогда список должен быть [4,5]

Образец данных:

 { id:1,
  name: "A",
  qty: 6,
  value: 10
},
{  id:2,
  name: "B",
  qty: 4,
  value: 10
},
{  id:3,
  name: "C",
  qty: 1,
  value: 10
}

Получение данных из сервиса:

 ngOnInit(): void {
this.dataService.getData().subscribe(res => {
  this.listes = res;
});

}

Имя списка:

  checkboxselectlist: any[];

Мой стекблиц: https://stackblitz.com/edit/angular-ivy-4vnwed?file=src%2Fapp%2Fapp.component.ts

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
466
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это должно помочь вам.

  1. Вам нужно передать обработчик событий в ngchange.
  2. В обработчике событий вы можете получить идентификатор элемента, который поможет вам обновить список. checkboxselectlist
// in your app.component.ts
filterResults(obj: any, e: any) {
   console.info(obj); 
   console.info(e.currentTarget.checked); // true or false
   // UPDATE LIST HERE
 }

// in your app.component.html
<tr *ngFor = "let list of listes; index as i">

<td>{{i+1}}</td>
<td>{{list.name}}</td>
<td>{{list.qty}}</td>
<td>{{list.value}}</td>
<td> <input type = "checkbox" id = "vehicle1"
            name = "vehicle1"
           (change) = "filterResults(list, $event)">
</td>
</tr>

Пробовал это, но получил эту ошибку «Свойство« проверено »не существует для типа« EventTarget »».

angular 11.12.2020 10:28

я обновил свой ответ после тестирования на stackblitz

Hamza Khan 11.12.2020 10:36

Как получить ид. Я пробовал это, пожалуйста, проверьте. filterResults(obj: любой, e: любой) { console.info(obj); console.info(e.currentTarget.checked); this.checkboxselectlist.push(this.listes.id) }

angular 11.12.2020 10:45
filterResults(obj: any, e: any) { if (e.currentTarget.checked == true) { this.checkboxselectlist.push(obj.id); } }
Hamza Khan 11.12.2020 10:46

Я не могу понять код, который вы отправили.? Почему журнал console.info вместо того, чтобы помещать значения в список

angular 11.12.2020 10:49

проверьте мой комментарий выше. это должно сделать работу.

Hamza Khan 11.12.2020 10:50

Я отладил его и обнаружил, что ошибка obj не определена, и в консоли эта ошибка не может прочитать свойство «push» неопределенного

angular 11.12.2020 11:03

ОБЕ имеют тот же код, что и в console.info.

angular 11.12.2020 11:09
stackblitz.com/edit/angular-ivy-vwjath проверьте проект по ссылке выше.
Hamza Khan 11.12.2020 11:13

Когда я запускаю это в vscode, я получаю эту ошибку в консоли «Не удается прочитать свойство« push »неопределенного»

angular 11.12.2020 11:15

вам нужно инициализировать свой список следующим образом: checkboxselectlist: any[] = [];

Hamza Khan 11.12.2020 11:17

Я сделал это, братан, но внутри списка значения не определены

angular 11.12.2020 11:21

Я применяю тот же код, который вы написали здесь, к моему коду vs. При уменьшении размера внутри списка я получаю следующие значения: (2) [undefined, undefined] 0: undefined 1: undefined length: 2

angular 11.12.2020 11:32

это произойдет, только если вы установите флажок, а идентификатор объекта не определен

Hamza Khan 11.12.2020 11:37

Да, это была моя ошибка, извините. Спасибо за помощь

angular 11.12.2020 11:49

Другие вопросы по теме