angular - Hur ställer jag in standardvärde med ng-select i angular2?
Jag har min kod i HTML på det här sättet.
<div class="col-md-10">
<ng-select [items]="tests" (data)="updateSelected($event, 'test')">
</ng-select>
</div>
Min TypeScript-kod är som följer
@Input() tests: Option[] = []; I have tests coming as input from previous component
@ViewChildren(SelectComponent)
private selectComponents: QueryList<SelectComponent>;
ngAfterViewInit() {
this.selectComponents;
}
Hur sätter jag ett värde som standardvärde här i selectComponents eller finns det något annat sätt att sätta ett värde som standardvärde med ng-select.
Svar #1
Använd ngModel-bindning som nedan.
<ng-select options="users" [(ngModel)]="selectedValue">
</select>
ngOnInit() {
this.selectedValue = ["1"]
}
Arrayelementets värde är alternativets id. https://basvandenberg.github.io/ng-select kan vara till hjälp för dig.
Svar #2
For Reactive forms, you can bind the value while creating `FormGroup`.
I TS:
import { FormBuilder, Validators, FormGroup} from '@angular/forms';
accountForm: FormGroup; // declaring form group
constructor(private fb: FormBuilder) {}
ngOnInit(): void {
this.createForm();
}
createForm(): void {
this.accountForm = this.fb.group({
trial: ['Yes', [Validators.required]] // Its default value
});
}
Om värdet är dynamiskt (t.ex. från ett API-anrop), kan du ställa in det med this.accountForm.patchValue({trial: 'abcd'});
I HTML:
<form class="form"
[formGroup]="accountForm"
(ngSubmit)="onSubmit(accountForm)"
autocomplete="off"
novalidate>
<div class="form-row">
<div class="col-sm-4" >
<div class="form-group">
<label>Trial</label>
<ng-select
[items]="booleanDropdown"
[multiple]="false"
[selectableGroup]="true"
[closeOnSelect]="true"
[clearable]="false"
formControlName="trial">
</ng-select>
</div>
</div>
</div>
