Надеюсь, это решит вашу проблему.
я проблема с разрешением отображения роли в HTML. Мой HTML-код, как это:
<div class="row">
<select multiple formControlName="sp_id" id="permission_id" materialize="material_select" [materializeSelectOptions]="permissions">
<option value="" disabled selected>Select Permissions</option>
<option *ngFor="let permission of permissions" [value]="permission.permission_id">{{permission.permissin_desc}}</option>
</select>
</div>
JSON
{
"StatusCode": 0,
"StatusMessage": "OK",
"StatusDescription": [
{
"permission_id": 1,
"permission_desc": "getallclient"
},
{
"permission_id": 2,
"permission_desc": "createclient"
},
{
"permission_id": 3,
"permission_desc": "deleteclient"
},
{
"permission_id": 4,
"permission_desc": "updateclient"
},.......]
мой код
this.editclientForm = this.fb.group({
'name': new FormControl('', Validators.required),
'active': new FormControl('', Validators.required),
'sp_id': this.fb.array([])
});
// заполнить мою форму в html. На данный момент моя проблема только в sp_id, который не отображается в html. Имя и актив в порядке. Ошибка: control.registerOnChange не является функцией
populateClientRole() {
this.activatedRoute.params.subscribe(
params => {
this.rs.getRoleById(params['id']).subscribe(
role => {
this.role = role;
this.editclientForm.controls['name'].setValue(role.name);
this.editclientForm.controls['active'].setValue(role.active);
this.editclientForm.controls['sp_id'].patchValue(role.sp_id);
}
);
}
);
}
Можете ли вы предложить мне, в чем проблема, пожалуйста?