如何使用管道在多个复选框和搜索字段上组织数据过滤?

普里亚尼克

我继续研究 Angular 6,但我遇到了一个事实,即我无法弄清楚如何使用管道在多个复选框和搜索字段上组织数据过滤。我阅读了很多论坛和课程,但我无法理解这个任务。

以下是代码的剪报:

我的组件:

import { Component, OnInit, Output } from '@angular/core';
import { AdminService } from '../admin.service';
import { Observable } from 'rxjs';

@Component({
  selector: 'app-app-module',
  templateUrl: './app-module.component.html',
  styleUrls: ['./app-module.component.scss']
})

export class AppModuleComponent implements OnInit {
   public data: {
    services: [
      {
        id: number,
        name: string,
        url: string,
        connected: boolean,
        used: boolean,
        warning: boolean
      }

    ]
  };
  public services: any = [];
  constructor(private adminService: AdminService) { }


  ngOnInit() {
    this.getServicesList();
  }

  getServicesList() {
    this.adminService.getServices()
      .subscribe(data => {
        this.data = data;
        this.services = data.services;
      });
  }
}

我的服务:

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';

@Injectable()
export class AdminService {
private API = 'http://localhost:3000';
constructor(
    private _http: HttpClient
) { }
getServices(): Observable<any> {
return this._http.get<any>(this.API + '/services');
}
}

我的组件.html

<div class="bg-gray wraper d-flex align-items-center justify-content-center">
  <div class="ui-card d-flex flex-column">
    <div>
      <strong>App Integration</strong>
    </div>
    <div class="search-box py-3">

      <form class="d-flex flex-row align-items-center">
        <input class="form-control form-search mr-sm-2" type="search" placeholder="Search" aria-label="Search">
        <input class="ui-checkbox" type="checkbox" value="" id="connected">
        <label class="form-check-label" for="connected">
          Connected
        </label>
        <input class="ui-checkbox" type="checkbox" value="" id="discovered">
        <label class="form-check-label" for="discovered">
          Discovered (not connected)
        </label>
        <input class="ui-checkbox" type="checkbox" value="" id="unused">
        <label class="form-check-label" for="unused">
          Unused
        </label>
      </form>


    </div>
    <div class="ui-services-box d-flex flex-wrap justify-content-between">
      <div *ngFor="let service of services"
      class="ui-service d-flex flex-wrap justify-content-between align-items-center"
      [ngClass]="{'brd-warning': service.warning}"
      [style.border-color]="!service.connected || !service.used ? '#9ea5b5':'#2bc339'"

      >
        <img src="{{service.url}}" alt="">
        <p>{{service.name}}</p>
        <div *ngIf="service.warning" ><i class="fa fa-exclamation-circle" aria-hidden="true"></i></div>
        <div *ngIf="!service.used" ><i class="fa fa-lock" aria-hidden="true"></i></div>
        <div
        class="button-green"
        *ngIf="service.used"
        [style.background-color]="service.connected === 0 ? '#9ea5b5': '#2bc339'">
          {{ service.connected ? "Connected" : "Connect" }}
        </div>
      </div>
    </div>
  </div>
</div>

我的数据:

services = [
{
id: 1,
    url: './assets/img/services/atlassian.png',
    name: 'Atlassian',
    connected: 1,
    used: 1,
    warning: 0 
},
{
    id: 2,
    url: './assets/img/services/google.png',
    name: 'Google G Suite',
    connected: 1,
    used: 1,
    warning: 1
 },
{
    id: 3,
    url: './assets/img/services/salesforce.svg',
    name: 'Salesforce',
    connected: 0,
    used: 1,
    warning: 1
 }
]

下面是一个截图,它显示页面上显示了所有服务,顶部有一个搜索字段和三个复选框,我希望服务列表按我在搜索字段中驱动的名称和复选框的值。

在此处输入图片说明

用户4676340

按照您的屏幕截图,您应该创建一个管道。你会像这样使用它:

<input type="text" [(ngModel)]="query">
<div *ngFor="let provider of providers | fullSearch:query:'name'">

在你的管道中

transform(items: any[], query: string, property: string) {
  return items.filter(item => item[property].includes(query));
}

很抱歉,我无法提供适合您的案例或文档的代码,但现在我正在打电话,这根本不方便。要么明天通过评论通知我,要么自己查找文档!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用复选框和搜索?

来自分类Dev

使用复选框过滤搜索

来自分类Dev

如何使用多个复选框过滤datagridview

来自分类Dev

使用复选框过滤多个类

来自分类Dev

问:如何使用复选框过滤剑道网格数据?

来自分类Dev

如何创建用于过滤多个复选框的自定义管道?角 4

来自分类Dev

在Angular 2中使用管道过滤复选框

来自分类Dev

在Angular 2中使用管道过滤复选框

来自分类Dev

使用复选框从MySQL的多个表中选择数据,并根据复选框显示表字段

来自分类Dev

根据选定的复选框和选择字段过滤数组

来自分类Dev

选中多个复选框时过滤数据

来自分类Dev

如何基于多个复选框进行搜索

来自分类Dev

在angularJS中使用多个复选框过滤

来自分类Dev

使用 jquery 的多个复选框过滤器

来自分类Dev

用复选框php过滤搜索

来自分类Dev

如何使用复选框和html select的组合将多个记录插入mysql数据库

来自分类Dev

如何在SQL中基于多对多关系的复选框搜索和筛选数据?

来自分类Dev

如何使用复选框过滤angularJS中的多个值(或操作)

来自分类Dev

如何使用Django中复选框的多个值进行过滤?

来自分类Dev

是否可以将多个(表单)搜索字段与复选框和/或下拉列表合并为一个?

来自分类Dev

jQuery和Ajax。如何检索此字段的数据并返回到正确的复选框

来自分类Dev

使用复选框搜索数据库

来自分类Dev

使用复选框和AngularJS过滤数组

来自分类Dev

使用复选框和AngularJS过滤数组

来自分类Dev

使用AJAX和复选框进行PHP搜索

来自分类Dev

如何在wordpress中更新更新后的元数据上保存多个复选框?

来自分类Dev

如何“使用已进行一些默认选择的多复选框过滤器过滤serverSide上的Kendo Grid数据”

来自分类Dev

用PHP过滤多个复选框

来自分类Dev

jQuery过滤多个复选框

Related 相关文章

  1. 1

    如何使用复选框和搜索?

  2. 2

    使用复选框过滤搜索

  3. 3

    如何使用多个复选框过滤datagridview

  4. 4

    使用复选框过滤多个类

  5. 5

    问:如何使用复选框过滤剑道网格数据?

  6. 6

    如何创建用于过滤多个复选框的自定义管道?角 4

  7. 7

    在Angular 2中使用管道过滤复选框

  8. 8

    在Angular 2中使用管道过滤复选框

  9. 9

    使用复选框从MySQL的多个表中选择数据,并根据复选框显示表字段

  10. 10

    根据选定的复选框和选择字段过滤数组

  11. 11

    选中多个复选框时过滤数据

  12. 12

    如何基于多个复选框进行搜索

  13. 13

    在angularJS中使用多个复选框过滤

  14. 14

    使用 jquery 的多个复选框过滤器

  15. 15

    用复选框php过滤搜索

  16. 16

    如何使用复选框和html select的组合将多个记录插入mysql数据库

  17. 17

    如何在SQL中基于多对多关系的复选框搜索和筛选数据?

  18. 18

    如何使用复选框过滤angularJS中的多个值(或操作)

  19. 19

    如何使用Django中复选框的多个值进行过滤?

  20. 20

    是否可以将多个(表单)搜索字段与复选框和/或下拉列表合并为一个?

  21. 21

    jQuery和Ajax。如何检索此字段的数据并返回到正确的复选框

  22. 22

    使用复选框搜索数据库

  23. 23

    使用复选框和AngularJS过滤数组

  24. 24

    使用复选框和AngularJS过滤数组

  25. 25

    使用AJAX和复选框进行PHP搜索

  26. 26

    如何在wordpress中更新更新后的元数据上保存多个复选框?

  27. 27

    如何“使用已进行一些默认选择的多复选框过滤器过滤serverSide上的Kendo Grid数据”

  28. 28

    用PHP过滤多个复选框

  29. 29

    jQuery过滤多个复选框

热门标签

归档