angular9中表格的全选,单选、提交数据例子

表格:

 <table class="table table-striped">
          <thead>
             <tr>
             <th scope="col">序号</th>
             <th><input type="checkbox" [(ngModel)]="all" (change)="allSelect()"/></th>
             <th scope="col">名称</th>
             <th scope="col">名称1</th>
             <th scope="col">名称2</th>
             <th scope="col">名称3</th>
             </tr>
             </thead>
             <tbody>
             <tr *ngFor="let country of members;index as i" class="tabeltr" >
             <th scope="row">{{i+1}}</th>
             <th><input type="checkbox" [(ngModel)]="country.isshow" (change)="listSelect(country)"/></th>
             <td>{{country.Name}}</td>
             <td>{{country.Name1}}</td>
             <td>{{country.Name2}}</td>
             <td>{{country.Name3}}</td>
             </tr>
             </tbody>
</table>
 <button type="button" class="btn btn-outline-dark" (click)="Submits()">确定</button>

ts部分

  // 全局勾选
  allSelect(){
    if(this.all){
      [this.members].forEach(function (value) {
        value.map(item=>{
        item.isshow= true;
        })
      });
  }else{
      [this.members].forEach(function (value) {
        value.map(item=>{
          item.isshow= false;
          })
      });
    }
 }
 // 单选勾选显示的效果
  listSelect(data){
    if(data.isshow){
      this.all = true;
    }else{
      if(this.members.findIndex(target=>target.isshow===true)==-1){
        this.all = false;
      }else {
        this.all = true;
      }
    }  
  }
  // 数据提交保存
  Submits(){
        var useList = [];
        this.members.forEach(function(value){
          if(value.isshow){
            useList.push({Name: value.Name});
          }
         })
         console.log(useList)
         return useList;
  }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值