У меня более одной кнопки-переключателя, и мне нужно сделать поведение, подобное переключателю.Я не могу использовать ngMogule.Я должен сделать это с FormControl.Проблема в том, что я не могу получить статус или значение всех кнопок за один раз, только за клик.Я думаю, я получаю эту проблему, потому что я не могу установить значение FormConttrol.Но я уже пробовал много разных вариантов, и я до сих пор не получил его.У кого-нибудь есть идеи, как это сделать?
это дочерний компонент, который я использую child.html
<p-toggleButton
onIcon="pi pi-times"
offIcon="pi pi-info"
[onLabel]="onLabel"
offLabel=""
[(ngModel)]="check"
[tabindex]="infoText"
(onChange)="onChange()"></p-toggleButton>
child.ts
@Input()
infoText: string;
@Input()
control: FormControl = new FormControl(this.infoText);
@Output()
public onNewEntryAdded = new EventEmitter();
constructor() {
console.log(this.control);
//if I call hier first time I get all forms but without values
}
onChange() {
this.onNewEntryAdded.emit({
value: this.check
})
}
это родительский компонент child.html
<app-infoicon class="col-1" [onLabel]="notiz" [infoText]="info" #test
name="control" [control]="control"
(onNewEntryAdded)="addNewEntry($e, test)" ></app-infoicon>
<app-infoicon class="col-1" [onLabel]="notiz" [infoText]="'2'" #test2
name="control" [control]="control"
(onNewEntryAdded)="addNewEntry($e, test2)" ></app-infoicon>
child.ts
control: FormControl = new FormControl('');
addNewEntry(e, control){
if (false) {
control.checked = false;
} else {
this.infoButton = e.checked;
}
}
Я пробовал также
[control]="control.setValue('1')"
[formControlName]="control" value="1"