如何在ts中将我的本地引用从一段时间设置为false

时间:2019-08-30 08:30:06

标签: angular

一会儿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关闭我所有的元素,而不仅仅是我选择的元素

0 个答案:

没有答案