ho un personalizzato itemRenderer che visualizza 5 ingressi testo in ciascuno dei 3 pannelli:Flex itemRenderer impedisce l'uso di tabulazione tra ingressi testo
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox
xmlns:mx="http://www.adobe.com/2006/mxml"
height="300"
width="800"
creationComplete="onCreationComplete()"
>
<!-- code-behind -->
<mx:Script source="ChainListRenderer.mxml.as" />
<mx:Label text="{data.title}" fontSize="25" fontWeight="bold" width="100%" textAlign="center" />
<mx:HBox>
<mx:Panel id="triggerPanel" title="Trigger" width="260">
<mx:VBox id="tpBoxes" width="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5">
<mx:TextInput id="trigger1" width="100%" textAlign="left" tabIndex="0" tabEnabled="true" />
<mx:TextInput id="trigger2" width="100%" textAlign="left" tabIndex="1" tabEnabled="true" />
<mx:TextInput id="trigger3" width="100%" textAlign="left" tabIndex="2" tabEnabled="true" />
<mx:TextInput id="trigger4" width="100%" textAlign="left" tabIndex="3" tabEnabled="true" />
<mx:TextInput id="trigger5" width="100%" textAlign="left" tabIndex="4" tabEnabled="true" />
</mx:VBox>
</mx:Panel>
<mx:Panel id="linkPanel" title="Link" width="260">
<mx:VBox id="lpBoxes" width="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5">
<mx:TextInput id="link1" width="100%" textAlign="left" tabIndex="5" tabEnabled="true" />
<mx:TextInput id="link2" width="100%" textAlign="left" tabIndex="6" tabEnabled="true" />
<mx:TextInput id="link3" width="100%" textAlign="left" tabIndex="7" tabEnabled="true" />
<mx:TextInput id="link4" width="100%" textAlign="left" tabIndex="8" tabEnabled="true" />
<mx:TextInput id="link5" width="100%" textAlign="left" tabIndex="9" tabEnabled="true" />
</mx:VBox>
</mx:Panel>
<mx:Panel id="answerPanel" title="Answer" width="260">
<mx:VBox id="apBoxes" width="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5">
<mx:TextInput id="answer1" width="100%" textAlign="left" tabIndex="10" tabEnabled="true" />
<mx:TextInput id="answer2" width="100%" textAlign="left" tabIndex="11" tabEnabled="true" />
<mx:TextInput id="answer3" width="100%" textAlign="left" tabIndex="12" tabEnabled="true" />
<mx:TextInput id="answer4" width="100%" textAlign="left" tabIndex="13" tabEnabled="true" />
<mx:TextInput id="answer5" width="100%" textAlign="left" tabIndex="14" tabEnabled="true" />
</mx:VBox>
</mx:Panel>
</mx:HBox>
</mx:VBox>
Purtroppo, se usati come itemRenderer, tabulazione tra gli ingressi di testo non funziona, anche con i valori tabIndex sopra. Se copio questo codice in un'applicazione MXML, la tabulazione tra gli input di testo funziona come previsto.
Qualcuno sa come ripristinare la tabulazione in questo scenario? Sarebbe un peccato se dovessi rilasciare questa app senza un elemento di usabilità così semplice.
Suppongo che potrebbe essere necessario implementare mx.managers.IFocusManagerComponent
, ma non riesco a trovare alcun esempio su come farlo, e il FocusManager docs non aiuta neanche.
Hai provato a impostare tabEnabled sul textInputs? – quoo
L'ho provato proprio ora, non sembra essere d'aiuto. –
Quando dici "l'indicizzazione delle schede non funziona" quale comportamento stai vedendo? Passa al controllo successivo dopo il componente basato su List o si trova all'interno del browser chrome? –