-2

I have my elements that are filtered by name through a field, I would like to get the ones that were filtered after being filtered. I need only those that have been filtered, so the code: (filteredItems = (items |orderBy:'order_prop' | filter:query | limitTo:4))

This code is for Angular JS - I need in Angular 7, how can I do it?

  <input ng-model="query">
     <div ng-repeat="item in (filteredItems = (items | 
      orderBy:'order_prop' | filter:query | limitTo:4))">
      {{item}}
     </div>

//filteredItems, take the items

I need to get Angular after 2, no longer the Angular JS, does anyone have any ideas?

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459

1 Answers1

0

if someone has found a better solution let me know

//DOCUMENT HTML
<tr #var *ngFor="let cliente of clientesArray | filter:searchClient as 
results" attr.data-id="{{cliente.id}}" [ngClass]="{'selected': 
cliente.id==selectedCustomer}" (click)="customerSelected(cliente.id)">  
    <td class ="pl-4 font-size-15px text-custom"> {{cliente.id}} </td>                                                                                
    <td class="text-custom"> {{cliente.name}} </td>
</tr>

//COMPONENT TYPESCRIPT

@ViewChildren('var') createdItems;

let elementsArray: any[] = [];

for(let element of this.createdItems.toArray()){
  elementsArray.push(element.nativeElement.children);
}

let myElementsArrayObject: {id?: number, name?:string}[] = [];
let object: { id?:number, name?:string} = {};

for(var _i = 0; _i < elementsArray.length; _i++){      
     object.id = elementsArray[_i][0].innerText; // TEXT
     object.name = elementsArray[_i][1].innerText; //TEXT, ADD AS MANY ITEMS 
     YOU WANT

     myElementsArrayObject.push(object);              
}

console.log(myElementsArrayObject);