Saya baru mengenal Angular 2 jadi saya memerlukan saran Anda untuk mencapai pengembangan. Saya sedang mengerjakan komponen formulir buat/perbarui. Saya memiliki daftar kotak centang dengan nilai default (dicentang atau tidak, itu tergantung pada layanan). Ini kode saya:
@Component({
selector: 'app-campaign',
template: `
<form [formGroup]="campaignForm" (ngSubmit)="saveCampaign()" novalidate>
<label for="formations">Formations</label>
<ul *ngFor="let formation of formations">
<li>
<label>
<input
type="checkbox"
[attr.checked]="formation.formationCochee == 1 ? 'checked' : null">
{{formation.formation}}
</label>
</li>
</ul>
<input
type="submit"
class="btn btn-primary"
value="Save"
[disabled]="campaignForm.invalid"/>
</form
`,
styleUrls: ['./campaign.component.css'],
providers: [CampaignService, FormationService]
})
export class CampaignComponent implements OnInit {
id: number = 0;
campaignForm: FormGroup;
title: string = "New campaign";
errorMessage: any;
formations: Formation[];
constructor(
private _fb: FormBuilder,
private _campaignService : CampaignService,
private _formationService: FormationService
) {
this.campaignForm = this._fb.group({
id: ''
, description: ["", Validators.required]
// ...
});
if (this._avRoute.snapshot.params["id"]) {
this.id = parseInt( this._avRoute.snapshot.params["id"]);
}
}
ngOnInit() {
// Case : Update Form
if(this.id > 0){
this.title = 'Update';
this._formationService.selectedFormations(this.id)
.subscribe(formations =>
this.formations=formations['records']
);
}
// Case : Create Form
else {
this._formationService.listActiveFormations()
.subscribe(formations =>
this.formations=formations['records']
);
}
}
saveCampaign(){
this._campaignService.saveCampaign(this.campaignForm.value)
.subscribe(campaign => {
this._router.navigate(['campaigns']);
}, error => this.errorMessage = error )
}
}
Pertanyaan saya :
Bagaimana cara mengatur data default untuk daftar kotak centang saya?
Apakah mungkin untuk memperbarui nilai default ini ketika pengguna mencentang atau menghapus centang pada kotak?
Apakah FormArray merupakan pilihan yang baik untuk menyelesaikan masalah saya?
Dan tolong, beri tahu saya jika Anda melihat kebiasaan buruk dalam kode saya, saya tidak mendapat imbalan apa pun ... Saya banyak bertanya tetapi saya terhenti untuk sementara waktu sekarang ...
PS: Saya mencoba melakukannya tanpa komponen yang ada untuk meningkatkan keterampilan sudut2 saya.
Terima kasih atas saran Anda