typescript - 如何删除角度5中的选定或所有复选框

标签 typescript angular5

这是我的 HTML,其中包含带有复选框和用于选择所有复选框的全局复选框的项目列表。单击删除后,我应该能够删除选中的或所有选中的复选框。

  <label (click)="delete()"> Delete these <button class="deletebutton">Delete</button></label>                 

  <ul>
      <input type="checkbox" (change)="usertodelete = $event.target.checked"/> // global checkbox to select all checkboxes

   <li *ngFor= "let user of users">
         <span>
             <input type="checkbox" [(ngModel)] ="usertodelete"/>
                   <label>{{user}}</label>
         </span>
       </li>
 </ul>

这是我的组件

export class GroupComponent implements OnInit {
usertodelete: boolean =true;
  ngOnInit() {
      this.service.getGroupMembers().subscribe(data => {this.users = JSON.parse(data.data.items);
       } );      
  }

  delete(selectedUser:any) {  
    if(this.usertodelete) {
      this.memberstobedeleted =  this.users.slice(selectedUser);
      this.service.remove(this.memberstobedeleted);
    }
    }

这是我的服务:

  remove(remove:any) {
    this.body = {
      "UserId":"abf"
     }
    return this.http.put('url'+remove, this.body,{headers :new HttpHeaders({'Content-Type':'application/json'})}
    ).subscribe((res:Response)=>{console.log(res)});
  }

最佳答案

您可以更改模型本身。

简化:

假设您有一个包含 3 个项目的数组,其中有一个值和用于“checked”的 c 属性:

 data = [{ id: 1, c: true }, { id: 2, c: false }, { id: 3, c: true }]

HTML 标记像这样:

<p>
    <br/>

   <input type="checkbox"  *ngFor= "let item of data"   [(ngModel)]="item.c"/>
    <input  type="button" value="clear all" (click)="delete($event)"/>

<br/>
{{ data | json}}
</p>

delete 函数会像这样:

  delete() {
    this.data.forEach(cb => cb.c = false)
  }

所以您基本上是在更改模型本身。

NG-run

关于typescript - 如何删除角度5中的选定或所有复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53070549/

相关文章:

javascript - 使用 javascript/typescript 创建一个对象数组,使其具有 3 个数组的所有可能性组合

typescript - 重载不类型检查 body

angular - 如何解决这个依赖问题

javascript - Bootstrap 模式在打开时被禁用

Angular 5 Mat-grid列表响应

electron - 如何在 Electron 中连接到本地数据库

typescript - 如何使用 jest 测试 Apollo Server 订阅?

javascript - 如何使用循环以表格形式打印 Localstorage 数组值?

node.js - npm uninstall 从 package.json 中删除包,但不会从 node_modules 文件夹中删除

Angular 5 'Content-Type' : 'multipart/form-data' gets reset to 'application/json'