У меня есть таблица, в которой у меня есть определенный столбец в качестве флажков. Я назначил пустой список. Итак, что я хочу, так это то, что мне нужны идентификаторы строк включенных флажков. Скажем, например, если флажки включены в идентификаторах 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
Это должно помочь вам.
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>
я обновил свой ответ после тестирования на stackblitz
Как получить ид. Я пробовал это, пожалуйста, проверьте. filterResults(obj: любой, e: любой) { console.info(obj); console.info(e.currentTarget.checked); this.checkboxselectlist.push(this.listes.id) }
filterResults(obj: any, e: any) { if (e.currentTarget.checked == true) { this.checkboxselectlist.push(obj.id); } }
Я не могу понять код, который вы отправили.? Почему журнал console.info вместо того, чтобы помещать значения в список
проверьте мой комментарий выше. это должно сделать работу.
Я отладил его и обнаружил, что ошибка obj не определена, и в консоли эта ошибка не может прочитать свойство «push» неопределенного
ОБЕ имеют тот же код, что и в console.info.
Когда я запускаю это в vscode, я получаю эту ошибку в консоли «Не удается прочитать свойство« push »неопределенного»
вам нужно инициализировать свой список следующим образом: checkboxselectlist: any[] = [];
Я сделал это, братан, но внутри списка значения не определены
Я применяю тот же код, который вы написали здесь, к моему коду vs. При уменьшении размера внутри списка я получаю следующие значения: (2) [undefined, undefined] 0: undefined 1: undefined length: 2
это произойдет, только если вы установите флажок, а идентификатор объекта не определен
Да, это была моя ошибка, извините. Спасибо за помощь
Пробовал это, но получил эту ошибку «Свойство« проверено »не существует для типа« EventTarget »».