나는이 체크 박스 (고객이 많은 부속품이 다를 수 있습니다)이 있습니다각도 2 개 선택 조회하는 체크 박스
customer.component.html :
<div class="checkbox" *ngFor="let accessory of accessories">
<label>
<input type="checkbox" [(ngModel)]="accessory.selected" (ngModelChange)="onCheckboxChange(accessory)"> {{ accessory.name }}
</label>
</div>
customer.component.ts :
onCheckboxChange(accessory: any) {
if (accessory.selected == true) {
this.selectedAccessories.push(accessory);
} else {
let i = this.selectedAccessories.indexOf(accessory);
if (i != -1) {
this.selectedAccessories.splice(i, 1);
}
}
}
을
선택한 확인란을 하나의 배열에 저장할 수있는 방법이 있습니다. 예를 들면
customer: Customer;
accessories: any[];
selectedAccessories: any[];
ngOnInit() {
this.accessoryService.get().subscribe(
accessories => this.accessories = accessories
)
if (this.routeParams.get('id')) {
let id = this.routeParams.get('id');
this.getCustomer(id);
}
}
getCustomer(id: number) {
this.customerService.getCustomer(id).subscribe(
data => {
this.selectedAccessories = data.customer.accessories
this.customer = data.customer
}
)
}
개체가 데이터베이스에 저장되어 있는지 확인하면 정상적으로 작동합니다. 그러나 선택한 액세서리를 확인란에 다시 채울 수있는 방법을 모르겠습니다. 배열을 indexOf() 및 map()과 비교하려고 시도했지만 성공하지 못했습니다.
Obs : Object 액세서리에는 ID와 이름의 두 가지 속성 만 있습니다.
어떤 도움 당신은 [(ngModel)]="accessory.selected"
와 객체 accessory
의 selected
속성에 체크 박스를 바인딩
데이터베이스에서 데이터를 검색 할 때 확인란을 선택 하시겠습니까? –