使用Angular 2编辑点击功能
问题描述:
我想编辑特定行的标题和正文,只要我点击编辑按钮,这样每当我点击编辑它就应该使我的标签进入输入标签。我试图使用ngif但它使所有行都可以像这样编辑。任何人都可以帮助我做错了什么?使用Angular 2编辑点击功能
打字稿代码:
<tr *ngFor = "let task of tasklist.task">
<td>{{task.id}}</td>
<td *ngIf="Display == true">{{task.title}}</td>
<td *ngIf="Display == true">{{task.author}}</td>
<td *ngIf="Display == false"> <input placeholder = 'Username'></td>
<td *ngIf="Display == false"> <input placeholder = 'Title'></td>
<td>
<a class="btn btn-Danger" (click) = Temp() > Edit </a>
<a class="btn btn-Danger" (click) = Delete(task) > Delete </a>
</td>
</tr>
<tr>
<td><input placeholder = 'ID' [(ngModel)] = 'newTaskid' ></td>
<td><input placeholder = 'Username' [(ngModel)] = 'newTasktitle' ></td>
<td><input placeholder = 'Title' [(ngModel)] = 'newTaskauthor' ></td>
<td> <Button class="btn btn-link" (click) = Edit(newTaskid,newTasktitle,newTaskauthor)> Save </Button> </td>
</tr>
</table>
</div>
`
})
export class TasksComponent implements OnInit {
sample:string = ""
Display:boolean = true;
constructor(public tasklist: TaskService , private router: Router) { }
ngOnInit() {
this.tasklist.getItems();
}
Delete(value)
{
this.tasklist.delete(value);
}
OnClick(id,title,author)
{
this.tasklist.postitems(id,title,author);
}
Edit(newTaskid,newTasktitle,newTaskauthor)
{
debugger;
this.tasklist.putItems(newTaskid,newTasktitle,newTaskauthor);
}
Temp()
{
this.Display = false;
}
}
答
export class TasksComponent implements OnInit {
displayRow:number = 0;
Temp(idx) {
this.displayRow = idx;
}
<tr *ngFor = "let task of tasklist.task let idx=index">
<td>{{task.id}}</td>
<td *ngIf="displayRow != idx">{{task.title}}</td>
<td *ngIf="displayRow != idx">{{task.author}}</td>
<td *ngIf="displayRow == idx"> <input placeholder = 'Username'></td>
<td *ngIf="Display == idx"> <input placeholder = 'Title'></td>
<td>
<a class="btn btn-Danger" (click) = Temp(idx) > Edit </a>
<a class="btn btn-Danger" (click) = Delete(task) > Delete </a>
</td>
</tr>
<tr>
<td><input placeholder = 'ID' [(ngModel)] = 'newTaskid' ></td>
<td><input placeholder = 'Username' [(ngModel)] = 'newTasktitle' ></td>
<td><input placeholder = 'Title' [(ngModel)] = 'newTaskauthor' ></td>
<td> <Button class="btn btn-link" (click) = Edit(newTaskid,newTasktitle,newTaskauthor)> Save </Button> </td>
</tr>
</table>
</div>
+1
它的工作。谢谢 –
也许你可以使用地图 '显示'。这些任务是否有可能是地图键的ID? – Benedikt