Hodnota persistentní proměnné v konstruktoru komponenty
- Foowie
- Člen | 269
Mám nějakou komponentu a v ní persistentní proměnnou. V této
komponentě vytvářím objekt, který je v konstruktoru závislý na této
proměnné. Kde mám tento objekt vytvořit? V konstruktoru komponenty ještě
nemám hodnotu persistentní proměnné k dispozici a vytvářet objekt
v render metodě je trošku pozdě. ( Můžu na to použít metodu
attached
? )
- romansklenar
- Člen | 655
Vzpomněl jsem si, že jsem něco takového řešil v DataGridu. Můžeš to
udělat už v loadState
, ale pokud po inicializování objektu
komponenty chceš nastavit jinou než výchozí hodnotu toho persistentního
parametru, nesmíš v konstruktoru komponenty předat její name
a
parent
a připojit ji do stromu komponent (tak jak to dělá
AppForm
), loadState
se volá tehdy, kdy je komponenta
připojena do stromu komponent, takže by tvůj parametr měl v
loadState
výchozí hodnotu a kdyby jsi ho pak při definici
v továrničce změnil (poté co už jsi komponentu připojil), tak by se to
neprojevilo včas na tom objektu, který chceš vytvářet. Komponenty potom
připojíš do stromu komponent explicitně voláním addComponent
na jejím rodiči.
Atteched
by se teoreticky na to dal taky použít a připadá mi
to i jednoduchší.