Estoy usando un campo <textarea> para obtener entradas de los clientes.
De forma predeterminada, la maxlength para <textarea> es 524288. Fuente:Maxlength para Textarea
Quiero que el <textarea> sea ilimitado porque los clientes quieren usarlo para procesar grandes cuerpos de texto.
¿Cómo se puede lograr esto?
Lo que probé:
He usado maxLength={Number.MAX_SAFE_INTEGER} . Esto establecerá la longitud máxima en el entero seguro máximo en JavaScript ( maxlength ).
Estoy buscando otros enfoques mejores.
El estándar no especifica el límite máximo para maxlength por defecto. Sin embargo, existen limitaciones técnicas de varios navegadores relacionadas con el rendimiento. Por ejemplo, el mismo Chrome tiene un límite de maxlength = 2147483647, como en el siguiente ejemplo:
const element1 = document.querySelector('#example-1'); const element2 = document.querySelector('#example-2'); console.log('maxlength element #1 (=2147483647):', element1.maxLength); console.log('maxlength element #2 (=2147483648):', element2.maxLength); <textarea id="example-1" maxlength="2147483647"></textarea> <textarea id="example-2" maxlength="2147483648"></textarea>Si necesita trabajar con un texto tan grande, debería echar un vistazo más de cerca al uso de contenteditable="true" , pero al mismo tiempo, intente evitar el uso de estilos CSS de alto rendimiento. Ejemplo a continuación:
div { width: 400px; height: 150px; border: 1px solid black; resize: both; overflow: auto; } <div contenteditable="true">...there should be a lot of text here...</div>Pero puramente desde el punto de vista del rendimiento, tal vez debería considerar la posibilidad de cargar un texto tan grande como una secuencia (incluida una secuencia de archivos), con visualización parcial en la pantalla, para un mejor rendimiento.