» »

angular primeng multiselect

angular primeng multiselect

detroit ::

Živjo
imam angular app uporabljam primeng komponente. Sestavil sem filtering komponento ki uporablja nekaj multiselectov

allBrands: SelectItem[] = [];
fullBrandModelArray: SomeClass[] = [];
selectedBrands: string[] = [];

constructor(....) {
      this.allBrands = <gets basically a label, value pair array from 
 fullBrandModelArray>
}

get brandModels(): SelectItem[] {
   // here if i return this.allBrands filtering in multi select works  but for instance if i use this.allBrands.slice(0, 10) it doesnt
 
//this is what i need to do, i filter the this.allBrands for the selectedBrands, and then get models from the fullBrandModelArray and return it as label value pair array...but filtering doesnt work
}


V templatu uporabim dva multiselecta en ima options allBrands drugi pa brandModels, oba delujeta, le pri uporabi brandModels (glej zgoraj getter v komponenti) filtriranje ne deluje. V getterju brandModels filtriram iz fullBrandModelArray (pač podatki) in serviram [{ label, value }, ...] (glede na interface SelectItem)
Zanimivo je če v brandModels vrnem return this.allBrands zadeva deluje, če uporabim pa this.allBrands.slice(0, 10) npr pa filtriranje več ne deluje.

Torej TLDR; čemu mi filtering ne bi deloval pri getterju če se kaj dinamično filtrira
Skero

mrData ::

Poizkusi vrnit tako da sprožiš change detection:
return [...this.allBrands.slice(0, 10)];

detroit ::

sicer change detection dela glede na to da če vrnem slice 0, 10 dobim samo deset jih ampak filtering ne dela poskusim pa seveda čez par min in javim
Skero

detroit ::

update, ja change detection deluje ker je osvežen seznam samo filtering po njemu pa ne

hvala vseeno, še kakšna ideja?
Skero

Zgodovina sprememb…

  • spremenil: detroit ()

mrData ::

Sem probal tukaj:
https://stackblitz.com/edit/primeng-mul...

Dodal sem metodo v .ts:
limitCities()  {
    return this.cities.slice(1,3)
  }


in v html namesto "cities" zamenjal s klicem metode in filtriranje nad omejenim seznamom mest deluje:
<p-multiSelect [options]="limitCities()" [(ngModel)]="selectedCities1" defaultLabel="Select a City" optionLabel="name">

detroit ::

https://stackblitz.com/edit/primeng-mul...

defook tu tudi meni dela tako kot sem naredil tam...

Pol mora bit nek čudn hook i assume...


mrData..hvala za tole zgleda da ni težava v teji kodi.
Skero

detroit ::

update, sem updatal verzijo z 7 na 11 (quite a leap:) in stvar dela tudi pri meni...god haha nimam besed. Še enkrat hvala
Skero

mrData ::

detroit je izjavil:

update, sem updatal verzijo z 7 na 11 (quite a leap:) in stvar dela tudi pri meni...god haha nimam besed. Še enkrat hvala

:) No super!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kontakt obrazec

Oddelek: Izdelava spletišč
62081 (1926) betmen
»

Nujna pomoc ASP.NET bedn problem

Oddelek: Pomoč in nasveti
7691 (601) hendriks
»

[Java]OOP Vprasanje glede dedovanja

Oddelek: Programiranje
5991 (861) KernelPanic
»

[Java] Objekt poslan k metodi v kakšnem stanju?

Oddelek: Programiranje
211601 (1048) shadeX
»

[Android]Software Design vprasanje

Oddelek: Programiranje
91961 (1781) KernelPanic

Več podobnih tem