Missing annotation property v Nette\UI\Form

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
ondrusu
Člen | 118
+
0
-

Zdravím, nevím si rady s jedním problémem.
Objevila se mi chyba:

User Deprecated
Missing annotation @property for Nette\Application\UI\Form::$httpData used ...

Je to kvůli použití httpData v metodě FormSucceeded

$values = $form->values;
if (!isset($form->httpData['tags'])) {
  $values->tags= ArrayHash::from($form->httpData['tags']);
}

Používám to takhle proto, že mám přes NetteForms definovaný formulář s multi selectem pro tagy, které si vytahuji z databáze po zadaní 3 znaků. Je to přes plugin jQuery select2, protože těch tagů které se můžou používat je fakt hafo.

v createComponent v je ten multi select definovaný takto:

$form->addMultiSelect('tags', NULL);

a v šabloně:

<div class="col-sm-5">
  <select n:name="tags" class="form-control js-example-basic-multiple" multiple="multiple"></select>
</div>

Když odešlu formulář tak $values->tags je prázdné pole i když něco zadám (řekl bych že to je proto, že mám v presenteru $form->addMultiSelect('tags', NULL); u definice hodnot NULL.

Můžete mi prosím poradit jak teda definovat tu annotaci a nebo čím to nahradit? Případně jak jinak to opravit?
Nechci dávat do addMultiSelect všechny tagy z db kvůli rychlosti načítaní.

Děkuji

CZechBoY
Člen | 3608
+
0
-

Pouzij getter $form->getHttpData(…);

ondrusu
Člen | 118
+
0
-

To mě taky mohlo napadnou. Paráda, funguje, díky. :)