Я загружаю значения целочисленного типа из базы данных для заполнения переключателей группы форм. Радиогруппа считывает значения, только если я конвертирую входящие целые числа в строки. Как заставить mat-radio-group принимать целочисленные значения?
Я пробовал изменить value="1"
на [value]="1"
, но это не дало результата. Единственная ссылка на это, которую я смог найти, это проблема на странице github material2, здесь
HTML
<form class="mb-4" [formGroup]="wifiForm">
<label id="wifi_available">Is working WiFi present on the property?</label>
<mat-radio-group
aria-labelledby="wifi_available"
class="list-radio-group w-100 mb-4 mt-2"
formControlName="wifi_available"
name="wifi_available"
fxLayout="column"
required
>
<mat-radio-button class="list-radio-button" color="primary" [value]="1">Yes</mat-radio-button>
<mat-radio-button class="list-radio-button" color="primary" [value]="2">No</mat-radio-button>
<mat-error *ngIf="wifiForm.controls.wifi_available.hasError('required').required && wifiForm.controls.wifi_available.touched" class="error"
>Required field</mat-error
>
</mat-radio-group>
...rest of form...
</form>
Компонент
ngOnInit() {
this.wifiForm = this.fb.group({
wifi_available: ['', Validators.required],
wifi_deadspots: ['', Validators.required],
wifi_notes: [''],
});
this.orderId = this.route.snapshot.paramMap.get('id');
this.wifiData = this.route.snapshot.data['order_data']; <== WHERE DATA IS BROUGHT IN
this.wifiForm.patchValue(this.wifiData); <== WHERE DATA IS PATCHED
}
Значения, поступающие из базы данных [пример] {wifi_available: 1, wifi_deadspots: 1, wifi_notes: 'Lorem bacon ...'}
Я ожидаю, что кнопки mat-radio-button будут проверены соответствующим образом (если 1, то отмечено "Да"). Если я изменил тип поля db на VARCHAR, переключатели будут отмечены должным образом. Если поля db имеют значение INT (как и должно быть), то переключатели не проверяются.
'' + myDbNum
Скажите мне, помогает ли это вам - person Francisco Santorelli   schedule 18.04.2019{ wifi_available: 1, wifi_deadspots: 1, wifi_notes: 'Lorem bacon...' }
, они должны работать с кодом, который у вас есть с использованием[value]
Пожалуйста, воссоздайте проблему в stackblitz :) - person AJT82   schedule 18.04.2019