我有一个列表来检查项目名称.在底部我想放置一个复选框来检查或取消选中它们.我想我需要一个*ngIf(如果选中)带有*ngFor循环(全部检查),但这是一个挑战......我无法弄清楚我应该如何处理这个问题.我是否使用(选中)或某些内容或*ngIf ="(选中)"然后使用*ngFor循环来设置project.isChecked.我无法理解这一点.
<div id="drp-project-select">
<div class="scroller" [hidden]="!showMenu">
<div id="search-wrapper">
<i class="fa fa-search fa-xs"></i>
<input [(ngModel)]="searchTerm" type="text" placeholder="Zoek op naam..." #search>
</div>
<ul>
<li *ngFor="#project of projectdata.LoginResponse?.ProjectVM | searchpipe:'Project':search.value">
<label class="checkbox-label" >
<input type="checkbox" class="dropdown-checkbox" [(ngModel)]="project.isChecked" (change)="addProject(project)" >
<span>{{project.Project}}</span>
</label>
</li>
</ul>
</div>
<div class="bottom-data" [hidden]="!showMenu">
<label><input type="checkbox" id="bottom-checkbox"></label>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我将在“选中/取消选中全部”复选框上使用控件,以便在用户选中或取消选中时收到通知:
<input type="checkbox" [ngFormControl]="allCtrl"/>
Run Code Online (Sandbox Code Playgroud)
allCtrl在组件的构造函数中初始化。然后,您可以注册valueChanges此控件的属性以获取更新通知并isChecked相应地更新字段:
constructor() {
this.allCtrl = new Control();
this.allCtrl.valueChanges.subscribe(
(val) => {
this.projectdata.LoginResponse.ProjectVM.forEach((project) => {
project.isChecked = val;
});
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5923 次 |
| 最近记录: |