Значение изменения флажка "Угловое 4"
как вы могли бы достичь в Angular 4, что при регистрации в флажке сохраните значение "A" или "B". Насколько я пытаюсь, он только посылает мне правду или ложь, я надеюсь, что кто-то может мне помочь.
registry.component.ts
this.userForm = new FormGroup({
state: new FormControl('',),
});
registry.component.html
<div class="form-group">
<label>State</label>
<input type="checkbox" [(ngModel)]="isChecked" (change)="checkValue(isChecked?'A':'B')" formControlName="state"/>
</div>
<pre>{{userForm.value | json}}</pre>
Таким образом, я могу получить консоль, чтобы показать значение, которое я хочу (A или B), но в JSON все еще верно или false.
Ответы
Ответ 1
Это то, что вы ищете:
<input type="checkbox" [(ngModel)]="isChecked" (change)="checkValue(isChecked?'A':'B')" />
Внутри вашего класса:
checkValue(event: any){
console.log(event);
}
Также добавьте FormsModule в app.module.ts
чтобы ngModel работает!
Надеюсь, поможет!
Ответ 2
Попробуйте это,
шаблон
<input (change)="FieldsChange($event)" value="angular" type="checkbox"/>
Ts файл
FieldsChange(values:any){
console.log(values.currentTarget.checked);
}
Ответ 3
changed = (evt) => {
this.isChecked = evt.target.checked;
}
<input type="checkbox" [checked]="checkbox" (change)="changed($event)" id="no"/>
Ответ 4
Я предполагаю, что это то, чего вы пытаетесь достичь.
<input type="checkbox" value="a" (click)="click($event)">A
<input type="checkbox" value="b" (click)="click($event)">B
click(ev){
console.log(ev.target.defaultValue);
}
Ответ 5
Другой подход заключается в использовании ngModelChange
:
Шаблон:
<input type="checkbox" ngModel (ngModelChange)="onChecked(obj, $event)" />
контроллер:
onChecked(obj: any, isChecked: boolean){
console.log(obj, isChecked); // {}, true || false
}
Я предпочитаю этот метод, потому что здесь вы получаете соответствующий объект и значения true
/false
для флажка.
Ответ 6
Вы можете использовать это:
<input type="checkbox" [checked]="record.status" (change)="changeStatus(record.id,$event)">
И в вашем файле TS,
changeStatus(id, e) {
var status = e.target.checked;
this.yourseverice.changeStatus(id, status).subscribe(result => {
if (status)
this.notify.success(this.l('AddedAsKeyPeople'));
else
this.notify.success(this.l('RemovedFromKeyPeople'));
});
}
Здесь record - модель для текущей строки, а status - логическое значение.
Ответ 7
<input type="checkbox" value="a" (click)="clicked('A')">A
<input type="checkbox" value="b" (click)="clicked('B')">B
clicked(val){
console.log(val);
}
Хотите что-то подобное?
Ответ 8
попробуйте это сработало для меня:
checkValue(event: any) {
this.siteSelected.majeur = event;
}
Ответ 9
Внутри вашего компонента класса:
checkValue(event: any) {
this.userForm.patchValue({
state: event
})
}
Теперь в элементах управления у вас есть значение A или B