2017-08-22 4 views
3

J'ai créé un tuyau qui filtre les nombres, mais le même tuyau échoue lorsque j'essaie de filtrer les valeurs décimales. Quelqu'un peut-il me dire comment faire cela? Voici ce que j'ai essayé.filtrez les valeurs décimales dans le tuyau angulaire 2

import { Pipe, PipeTransform } from '@angular/core'; 

@Pipe({ 
    name: 'filterSellerNumber', 
    pure: false 
}) 
export class FilterSellerNumberPipe implements PipeTransform { 
    transform(items: any, SellerNumber: any): string { 
    if (!searchSellerNumber) return items; 
    return items.filter(function(item){ 
     if(item.roleId.includes(SellerNumber)){ 
     return true; 
     } 
     else { 
     return false; 
     } 
    }) 
    } 
} 

items contient les données de JSON et SellerNumber cales d'entrée d'utilisateur à partir d'une zone de texte.

+1

Qu'entendez-vous par «il échoue»? Est-ce qu'il lance une erreur ou le résultat est-il inattendu? Pouvez-vous donner des exemples pour les deux articles et SellerNumber (valeurs concrètes) où cela fonctionne/ne fonctionne pas? –

+1

Il est dit "item.roleId.includes n'est pas une fonction" – OptimusPrime

+0

[{roleId: "1000.50"}, {roleId: "2000.5"}] – OptimusPrime

Répondre

2

L'erreur item.roleId.includes is not a function vous indique que item.roleId n'est pas une valeur de chaîne. Vous devez le convertir en premier: (item.roleId + '').includes(...