gpt4 book ai didi

Angular 7 react 形式如何获取选定值的文本而不是下拉列表形式控件中的值

转载 作者:行者123 更新时间:2023-12-04 01:49:54 25 4
gpt4 key购买 nike

我有办法以 react 形式获取下拉列表的选定值的文本而不是获取值吗?

我的脚本如下:

<form [formGroup]="formGroup" formArrayName="test">
<ng-container matColumnDef="fr" formArrayName="test">
<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" >
<mat-label>Family Relation</mat-label>
<mat-select (selectionChange)="onChange(element, i)" 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>&nbsp;
</div>
</td>
</ng-container>
</form>

并且在更改选择 (selectionChange="onChange(element, i)") 时,我需要同时获取所选值和它的文本。

onChange(data, i)
{
let group = (<FormArray>this.formGroup.get('test')).at(i).value;
let newFr = group['fr'];
console.log('Value: '+newFr);
}

其中data是选中的行,i是选中的Form Array的索引。

我尝试使用旧的 javascript 方法:

<HTMLSelectElement>document.getElementById().text

但它给了我一个错误:

[ts] Property 'text' does not exist on type 'HTMLElement'. [2339]

编辑

我试过:

@ViewChild('familyRelation') familyRelation;

和:

<mat-select #familyRelation (selectionChange)="onChange(element, i)" 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>

在安慰之后:

enter image description here

enter image description here

最佳答案

首先,从表单控件中获取值。然后通过数组循环获取与value相关的item。最后从项目中获取文本

onChange(data, i)
{
let text = formGroup.get("fr").value;
let newFr =this.familyRelationArray.find((item) => item.family_relation_id === text)
if(newFr){
console.log('text: '+newFr.family_relation_type);
}
}

关于Angular 7 react 形式如何获取选定值的文本而不是下拉列表形式控件中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53632932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com