一会儿html模板中的元素。 我有一个localref #fieldName用于使某些元素出现或消失。 当我的用户单击字段时,我想在ts文件中将本地参考#fieldName切换为false。
当用户编辑有行时。出现一个输入字段。 当他完成对字段的编辑并按键盘上的Enter键后,我希望将本地变量#fieldName切换为false以便返回初始状态
<div *ngFor=" let field of defaultFieldSelected; let i = index;">
<div #fieldName>
<span *ngIf="!fieldName.value">{{field.name}}</span>
<input #fieldVal type="text" [value]="field.name" *ngIf="fieldName.value" (keydown)="editField($event, fieldVal.value, i);" fieldName.value = false" />
</div>
</div>
editField(e, value, index) {
if (e.key === 'Enter') {
e.preventDefault();
//Update the value
this.defaultFieldSelected[index].name = value;
// set the current #fieldName.value from the html to false for close the input
return;
}
//Update the value
this.defaultFieldSelected[index].name = value;
}
我不明白如何从一段时间中获取当前的localref。 我有尝试viewChild和Viewchildren。 @viewChild总是第一个元素 @viewchildren关闭我所有的元素,而不仅仅是我选择的元素