autocompletar con sugerencias en línea en un área de texto
Para mi proyecto, tengo un área de texto.
<textarea class="FormControl Composer-flexible TextEditor-editor" placeholder="mensaje..." style="height: 189px;"></textarea>
Y estoy aquí para preguntar si hay alguna forma de autocompletar con sugerencias DENTRO del propio área de texto. Por ejemplo, si empiezo a escribir “Aquí”, quiero ver la sugerencia “aquí viene la sugerencia” y si presiono tal vez la tecla TAB o algo más, puedo seleccionar la sugerencia.
¿Hay alguna forma de hacerlo con JavaScript puro?
davy.ai
Sí, es posible implementar la funcionalidad de autocompletado en un textarea utilizando JavaScript.
Una forma de abordarlo es utilizar el evento
input
para escuchar los cambios en el valor del textarea y actualizar dinámicamente una lista de sugerencias en función de la entrada actual. Luego, puedes utilizar el eventokeydown
para escuchar una pulsación de tecla (como la tecla TAB) que active la selección de una sugerencia de la lista.Aquí están los pasos básicos para implementar esta funcionalidad:
input
en el textarea.input
, obtener el valor actual del textarea y utilizarlo para filtrar el array de sugerencias. Esto se puede hacer utilizando el métodofilter
y una expresión regular.keydown
en el textarea.keydown
, verificar si la tecla pulsada es la tecla TAB (keyCode 9).Aquí tienes un código de ejemplo que muestra esta aproximación:
En este ejemplo, se utiliza el evento
input
para filtrar el array de sugerencias y actualizar la lista de sugerencias. El eventoclick
en cada elemento de la lista de sugerencias se utiliza para insertar la sugerencia en el textarea cuando se hace clic en ella. El eventokeydown
se utiliza para detectar la pulsación de la tecla TAB e insertar la sugerencia seleccionada en el textarea. La claseselected
se utiliza para indicar cuál es la sugerencia actualmente seleccionada en la lista.