UI Multiplier v komponentě a nefunční ajax
- Robin Martinez
- Člen | 89
Ahoj, mám dotaz.
Píšu vlastní komponentu, která má funkci render:
public function render(int $centralProductID)
v latte následně volám:
{control remoteProductControl $prod['id']}
V komponentě používám ui multiplier, který funguje, ale když mu k tlačítkům add/remove přidám třídu ajax, po jejich stisknutí dostanu error:
Too few arguments to function App\Component\Remote\RemoteProductControl::render(), 0 passed in /home/martinez/Sites/central.local/vendor/nette/application/src/Bridges/ApplicationLatte/SnippetBridge.php on line 87 and exactly 1 expected
V nette se ve třídě ‚SnippetBridge‘ volá funkce render bez parametrů. Poradí někdo co mám špatně? Moc díky
- Kamil Valenta
- Člen | 815
Je to tak. Při invalidaci komponenty se render() zavolá vždy bez
parametrů.
S tím nehneš.
Volej render bez parametru a id si předej v createComponent…()
Tzn., že komponenta bude mít nějaký setter a render už jen sáhne na tento
atribut.
- Robin Martinez
- Člen | 89
Rozumím, to mě nenapadlo. Díky!
Update: samozrejme funguje. Diky
Editoval Robin Martinez (28. 6. 2022 10:28)
- MajklNajt
- Člen | 494
Kamil Valenta napsal(a):
Je to tak. Při invalidaci komponenty se render() zavolá vždy bez parametrů.
S tím nehneš.
Volej render bez parametru a id si předej v createComponent…()
Tzn., že komponenta bude mít nějaký setter a render už jen sáhne na tento atribut.
ešte by sa to mohlo obaliť to do snippetArea
, či to v tomto
prípade nepomôže (neskúšal som)?
- Robin Martinez
- Člen | 89
MajklNajt napsal(a):
Kamil Valenta napsal(a):
Je to tak. Při invalidaci komponenty se render() zavolá vždy bez parametrů.
S tím nehneš.
Volej render bez parametru a id si předej v createComponent…()
Tzn., že komponenta bude mít nějaký setter a render už jen sáhne na tento atribut.ešte by sa to mohlo obaliť to do
snippetArea
, či to v tomto prípade nepomôže (neskúšal som)?
to jsem zkousel, neslo…