javascript - 如何为过滤结果选择更多复选框值?

标签 javascript angular api angular-material observable

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

所以我将其作为 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 = '';
    }
}

最佳答案

组件:

 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>

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

关于javascript - 如何为过滤结果选择更多复选框值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59307788/

相关文章:

javascript - AngularJS - 子指令使用与父指令相同的数据。如何分享?

html - 使用 angular2/4 Material ,如何使用 mat-chip 和每行芯片旁边的文本?

angular - ng 添加@nebular/theme - 错误 : Cannot find module @angular-devkit/core/src/terminal

不需要 XML 配置的 Java 数据库 API

mysql - Instagram API 在 mysql 中存储来自标签的图像

javascript - VueJS - 无法将 Prop 从父组件传递到子组件

javascript - Fancyselect 中断更改功能

javascript - 类型错误 : Cannot read property 'length' of null

linux - Kaggle API 问题 "Could not find kaggle.json. Make sure it' 位于……”

javascript - 如何创建在同一页面上显示更多文本的 HTML 按钮