Je reçois des données d'une API et je veux le chercher à l'aide de RxJS .pipe. Ce que je veux faire, c'est d'appliquer un filtre si une variable est vraie.
Voici mon code de travail: (le serveur userservice renvoie la réponse de l'API)
TS strud> p> veux que je veux maintenant s'appliquer Le filtre si une variable que j'ai définie ci-dessus est vraie. J'ai essayé des choses avec iif () mais sur ma compréhension actuelle IIF () ne peut pas être utilisée pour appliquer différents opérateurs. P> Salutations! P> (fort)! FORT > p> Utilisez la variable dans l'opérateur de la carte. Merci @fflix p> p>
3 Réponses :
Utiliser filtre code> comme ci-dessous:
Vous pouvez simplement ajouter l'état de variable sur la carte, comme celui-ci:
this.filteredOptions = this.userService .getUserSuggestions(this.displayName, 30) .pipe( map(response => someVariable ? response.filter(option => option.eMail != null) : response), debounceTime(400), distinctUntilChanged() );
Utilisez simplement le filtre https://www.learnrxjs.io/learn-rxjs/opérateurs / Filtrage / Filtre . P>
Code> Opérateur: P>
.pipe (filtre (conditionFN)) code> p>
Vous pouvez simplement ajouter l'état de variable sur la carte, comme celui-ci:
Carte (réponse => Quelqueevariable? Response.Filter (option => option.email! = Null): réponse) code>
Résolu! J'ai essayé cela avant mais j'ai placé la variable dans l'opérateur de filtre ... Merci!
@Kastenbrot Veuillez accepter la bonne réponse au lieu de modifier votre question, voir Stackoverflow.com/help/accepted-answer
Il y avait seulement un commentaire avant, existe-t-il un moyen d'accepter un commentaire comme réponse?