Я смотрю, чтобы создать значения по умолчанию для группы кнопок-переключателей.По какой-то причине всякий раз, когда используется множественный атрибут, значения не устанавливаются так, как следует.
Для отдельного значения по умолчанию в группе переключателей без нескольких атрибутов проблем нет.И я думал, что это будет работать так же, но, очевидно, это не так.Мой код выглядит следующим образом:
Основной html.component, где я использую форму с вводом
<app-customer-form [customer]="updateCustomer"></app-customer-form>
внутри формы, является частью с кнопкой переключения для компаний, которые связаны склиент:
<mat-button-toggle-group #groupCompany="matButtonToggleGroup"
multiple="true"
[value]="selectedCompanies"
(change)="onValueChange(groupCompany.value)"
>
<mat-button-toggle *ngFor="let item of companyList"
[value]="item">{{item?.name}}</mat-button-toggle>
</mat-button-toggle-group>
в файле ts Я извлекаю компании из моего объекта и сохраняю значения внутри массива / объекта selectedCompanies.CompanyList получен и работает нормально.Я проверил с console.log, и selectedCompanies создается как ожидалось и содержит правильные значения.Но кнопки переключения не выбраны.
Довольно сложно поместить сюда файл ts.file, потому что он действительно вложен в другие компоненты.Но вкратце это выглядит так.Если щелкнуть строку в компоненте таблицы, она отправляет событие родительскому компоненту со значением заказчика, а внутри объекта появляется свойство компаний.Полученное значение используется для заполнения формы кнопкой переключения.
файл form.ts:
export class FormComponent implements OnInit, OnChanges {
@Input() customer : ICustomer;
companyList: ICompany[];
selectedCompanies: ICompany[];
constructor(
private companyService : CompanyService,
public sharedService : SharedServices
) {}
ngOnInit(){
this.instantiateForm(); // retreives the values for the companyList and
// other default values.
}
ngOnChanges() {
this.setSelectedCompanies();
}
setSelectedCompanies(){
this.selectedCompanies = this.customer.companies
}
У кого-нибудь есть мысли по этому поводу?Спасибо за помощь!