【发布时间】:2019-05-08 05:45:20
【问题描述】:
我需要获取材料下拉列表<mat-select>的选定文本而不是它的值:
<ng-container matColumnDef="fr">
<th mat-header-cell *matHeaderCellDef> Family Rel. </th>
<td mat-cell *matCellDef="let element; let i = index;">
<div [formGroupName]="i">
<mat-form-field color="warn" appearance="outline">
<mat-label>Family Relation</mat-label>
<mat-select #familyRelation (selectionChange)="onChange(element, i, 'hh')" id="family_relation"
formControlName="fr" placeholder="Family Relation">
<mat-option *ngFor="let familyRelation of familyRelationArray;" [value]="familyRelation.family_relation_id">
{{familyRelation.family_relation_type}}
</mat-option>
</mat-select>
</mat-form-field>
</div>
</td>
</ng-container>
这就是我想要做的:
@ViewChild('familyRelation') familyRel: ElementRef;
并且在更改下拉列表的选择时:
onChange(data, i, type) {
let c = this.familyRel.nativeElement.innerText;
console.log(c)
}
我遇到了以下错误:
错误类型错误:无法读取未定义的属性“innerText” 在
当我删除 innerText 时,控制台值为:
未定义
正如您在stackblitz 中看到的那样,我需要什么,如果我选择了Parent,我想将Parent 放入一个变量而不是1,它是它的id。
请注意,(selectionChange)=onChange(element,...) 中的element、i 和hh 在函数后面会用到,所以现在就忘了吧。
【问题讨论】:
标签: angular angular-material angular-reactive-forms angular7