【问题标题】:How to select more checkboxes values for filter result?如何为过滤结果选择更多复选框值?
【发布时间】:2020-04-06 00:48:47
【问题描述】:

我有一些用于过滤的复选框。我可以选择一个或多个复选框。但是例如,您将选择两个复选框,然后只有最后一个选中的复选框会显示来自后端的值。

所以我有这个作为 HTML:

<div class="mat-checkbox-project-absolute">
    <div *ngIf="showProjectFilter"  class="mat-checkbox-project">
        <div class="row" *ngFor="let item of returnProjectCodes; let i = index">
            <mat-checkbox
                (click)="$event.stopPropagation()"
                (change)="filterProjects($event, i, item);"
                [checked]="selected === i">
                    {{ item.name }}
            </mat-checkbox>
        </div>
    </div>
</div>

这就是方法:

returnProjectCodes: ProjectApi[] = [];

filterProjects(event, index, item) {
    if (event.checked === true) {
        const hallo =  this.returnProjectCodes.push(item);
        console.log(hallo);
        this.extendedSearchFilterService.filterByProject(item.projectId).subscribe(pipe());
        this.datasource.filter = item.name;
    } else {
        this.datasource.filter = '';
    }
}

【问题讨论】:

  • 通过检查检查值的长度,您可以实现这一目标
  • 谢谢。你能举个例子吗
  • 你能用你的代码创建一个堆栈闪电战吗?以便我们更新答案

标签: javascript angular api angular-material observable


【解决方案1】:

组件:

 export class AppComponent implements OnInit  {

  list: any[];

  ngOnInit() {
    this.list = [
      {
        id: 1,
        title: 'Администратор',
        checked: true,
      },
      {
        id: 2,
        title: 'Пользователь',
        checked: false,
      },
      {
        id: 3,
        title: 'Директор',
        checked: false,
      },
      {
        id: 4,
        title: 'Начальник',
        checked: false,
      },
    ]
  }

  get result() {
    return this.list.filter(item => item.checked);
  }

HTML:

<ul>
    <li *ngFor="let item of list| slice:0:this.result.length+1; let ind=index;">
    <input type="checkbox" [(ngModel)]="item.checked">{{item.title}}
  </li>
</ul>

希望这个示例能让您了解如何实现这一目标。这不是实现的好方法,但您可以解决

【讨论】:

  • 谢谢。我会看的。
  • 投票并接受我的解决方案,如果它适合你@niceCoderToTheBest
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-15
  • 2021-06-08
  • 1970-01-01
  • 1970-01-01
  • 2012-01-14
  • 2023-04-11
相关资源
最近更新 更多