我有一个选择列表,该列表加载公司列表。目前,我只能获得公司的ID或名称。 我需要将所选公司的ID和名称存储在Firestore集合中。
尝试过(selectionChange)="changeCompany($event.value)"
但这会发送一个对象Object值。我怎么命名呢?
loadedCompanies: Company[] = [];
HTML
<mat-form-field>
<mat-select formControlName="companyid" (selectionChange)="changeCompany($event.value)" placeholder="Select Company" [compareWith]="compareFn">
<mat-option *ngFor="let lC of loadedCompanies" [value]="lC.id" >
{{lC.name}}
</mat-option>
</mat-select>
</mat-form-field>
changeCompany方法
changeCompany(data) {
this.selectedCompanyName = this.loadedCompanies[data].name;
console.log('CName' + this.selectedCompanyName);
}
我想从所选对象中获取值,而不是再次向firestore查询以获取公司名称。
谢谢
答案 0 :(得分:0)
我已将其解决以下问题:
changeCompany(data) {
const inspect = obj => {
for (const prop in obj) {
if (obj.hasOwnProperty(prop)) {
console.log(`${prop}: ${obj[prop]}`);
if (prop === 'name') {
this.selectedCompanyName = obj[prop];
}
if (prop === 'field1') {
this.selectedField1 = obj[prop];
}
if (prop === 'field2') {
this.selectedField2 = obj[prop];
}
}
}
};
inspect(data);
}