Pregunta

Estoy tratando de mover el cursor en un Flex TextArea hasta el final después de agregar un texto de mi código. He revisado la documentación de referencia para TextArea y su TextField subyacente, pero parece que no se proporciona ningún método para manejar esto.

Un enfoque que he intentado es establecer el foco en el área de texto y enviar un KeyUp KeyboardEvent con el código de clave del evento establecido en " End " clave, pero esto no funciona.

¿Alguna idea sobre cómo hacer esto?

Gracias.

¿Fue útil?

Solución

Prueba esto

textArea.selectionBeginIndex = textArea.length;
textArea.selectionEndIndex = textArea.length;

Otros consejos

Para las personas que buscan la forma del componente Spark para hacer esto, Flex 4.5, use selectRange(anchorIndex, activeIndex)

Para establecer el cursor en cualquier posición en un área de texto, todo lo que necesita hacer es

textArea.setSelection (beginIndex, endIndex);

si configura el amplificador beginIndex &; endIndex al mismo valor (en su caso textArea.text.length) el cursor se colocará en esa posición. Si lo configura en valores diferentes, el texto en ese rango se resaltará.

Creo que puede configurar directamente la barra de desplazamiento del área de texto con

verticalScrollPosition : Number
textArea.verticalScrollPosition(i);

@Paul Stewart verticalScrollPosition es una propiedad, no un método, por lo que debe usarla de manera similar a un campo, como:

var newPosition:NUmber = 1;
textArea.verticalScrollPosition = newPosition;

La ventaja de usarlo sobre una selectionBeginIndex / selectionEndIndex es que no tiene que establecer un foucus.

Simplemente agregue el siguiente código después de agregar un texto a TextArea:

textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top