【发布时间】:2020-08-10 17:01:35
【问题描述】:
所以我在点击编辑button 后试图专注于input。 edit 会将 hidden 设置为 false。为此,我尝试了以下代码
editMyLink(i, currentState) {
if (currentState == 'noEdit') {
this.myLinkBody[i].value = this.myLinkBodyOriginal[i].value
this.myLinkBody[i].currentState = 'edit';
this.myLinkBody[i].buttonClass = "editButton"
}
else {
this.myLinkBody[i].currentState = 'noEdit';
this.myLinkBody[i].buttonClass = "noEditButton"
let selector = '.myLinkEditInput:eq(' + i + ')'
$(selector).focus()
}
}
<span *ngFor="let body of myLinkBody;let i=index;let last=last;" class="myLinkBody" [class.myLinkBodyLast]="last">
<input class="myLinkEditInput" type="text" (keydown.enter)="saveMyLink(i)" [hidden]="body.currentState=='edit'" [(ngModel)]="body.value"/>
<a [hidden]="body.currentState=='noEdit'"[href]="domainURL+body.href">{{body.value}}</a>
<div id="editLinkButton"><a [class]="body.buttonClass" (click)="editMyLink(i,body.currentState)"></a></div>
<div id="deleteLinkButton"><a (click)="deleteMyLink(i)"></a></div>
</span>
我意识到 hidden 只有在函数执行后才会变为 true,因此我专注于输入的逻辑将不起作用。有没有办法专注于输入
【问题讨论】:
标签: html jquery angular typescript