Wpis z mikrobloga

Mam zwróconą z backendu #python listę 100 modeli(id,username,password). Chciałbym dodać możliwość filtrowania tych wyników po części nazwy. Jak coś takiego można zrobić, cały client jest w axiosie dlatego pytam o to jak to zrobić od strony JS
#naukaprogramowania #python #javascript
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mprzemo: backend zwraca listę userów. Chodzi mi bardziej o możliwość wpisania username lub id i wyświetlenie tylko tego modelu, zamiast np 500 czy 100 innych będących w bazie. Tylko na zasadzie że np. mam liste od 100 do 200 i z tej listy sprawdza, nie z całej bazy.

Lub po prostu po części nazwy żeby pokazywało wyniki zawierające to co wpiszę w search, np mając userów test1, test2 po wpisaniu
  • Odpowiedz
@mprzemo: Na filtrowanie masz dwie mozliwosci
* po stronie BE - lepsze dla dużych kolekcji - wtedy filtrujesz przy uzyciu query params w URLu, np. http://localhost:3000/api/products?search_phrase=abc
* po stronie FE - dla mniejszych (to zależy co to za obiekty, na jakich łączach beda pracowac userzy etc) - w tym przypadku zaciagasz wszystko i ją filtrujesz np. metodą array.filter
  • Odpowiedz
@BomBom: jeżeli wynik jest wypisany jako tablica to używaj filter + icludes ;v
cost nowa = tablica.filter(model => model.user.includes("szukany ciąg"));
opakuj to w jakąś funkcje i zamień szukany ciąg na value z jakiegoś inputa
  • Odpowiedz
@mprzemo: lub jeśli filter ma być bardziej skomplikowany to możesz przeskoczyć na metodę POST i wysłać obiekt filtra jako payload na BE
  • Odpowiedz
@mcsQ: raczej chciałbym to zrobić po najmniejszej linii oporu, dopiero się uczę, a to wszystko poprostu ma działać, i chciałbym to zrobić z poziomu front endu, ale i z be też bym nie pogardził jakbym to zrobił
  • Odpowiedz
@mcsQ: bez sensu jest przesyłać filtry postem ile by ich nie było. GETem kopiujemy link i możemy wysłać np. komuś konkretną stronę z konkretnymi filtrami.
  • Odpowiedz
@Krall: tu się zgodzę ze link jest wygodniejszy, ale to zależy też od wymagań. Jak masz np internalowe aplikacje w firmie, gdzie na pewno np. filtr nie będzie przesyłany do kogoś innego to jest ok wyjście przy jakimś bardzo rozbudowanym filtrze.
  • Odpowiedz