setPrompt volaný před setItems nefunguje

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

Zdravím,
pokud nastavím selectu setPrompt před setItems, pak nemá žádý efekt. Opačně vše funguje jak má.

Příklad (placeholder choose se nezobrazí):

$form->addSelect('select', "Select")
	->setPrompt("- choose -")
	->setItems(array("Item 1", "Item 2"), FALSE);

Nette 2.0.3 stable (4. 4. 2012)

smasty
Člen | 90
+
0
-

Vychádza to z implementácie.

Mohla by to byť chyba, ale aj vlastnosť… setPrompt(TRUE) totiž nastavuje, že prvá položka sa bude ignorovať, a ak je parametrom niečo iné ako bool alebo null, hodí to na začiatok položiek s kľúčom '' (prázdny string).

Môže byť ale logické, že prvá položka sa nedá ignorovať, keď ešte žiadne položky definované nie sú.

V každom prípade sa dá poslať Pull Request …

  • Na jednej strane je logické, aby sa prompt ponechal nedotknutý, keď sa nastavujú položky.
  • Na druhej strane je tiež logické, že sa prompt „resetuje“ keď sa nastavujú nové (iné ako pôvodné) položky.

Edit: Tu je pull request: nette/nette#632

Editoval smasty (20. 4. 2012 18:36)

smasty
Člen | 90
+
0
-

Tak Pull Request už bol mergnutý, takže to už nespôsobuje problémy.