Estoy tratando de copiar texto de un área de texto HTML kendo, encontré una solución con un área de texto regular pero no puedo implementar la solución con un área de texto kendo:
https://stackblitz.com/edit/angular-mvfpr6?embed=1&file=src/app/app.component.html
Cuando trato de implementar lo mismo para el área de texto de kendo, arroja el siguiente error: inputElement.select no es una función
Mi aplicación stackblitz: https://stackblitz.com/edit/angular-7zcv4o?file=app/app.component.ts
Estás muy cerca de tu solución. En el método copyInputMessage , establezca el tipo de inputElement para que sea TextAreaComponent . La documentación de la API del componente se puede encontrar aquí: https://www.telerik.com/kendo-angular-ui/components/inputs/api/TextAreaComponent
Después de especificar el tipo, obtenga el campo de input del componente y obtenga la propiedad nativeElement de la input . Con este valor, puede llamar a select y setSelectionRange .
Aquí hay un ejemplo:
public copyInputMessage(inputElement: TextAreaComponent) { const elementRef = inputElement?.input?.nativeElement; if (!elementRef) { return; } elementRef.select(); document.execCommand('copy'); elementRef.setSelectionRange(0, 0); }Ejemplo: https://stackblitz.com/edit/angular-7zcv4o-iddki1
FYI: podría valer la pena abrir un brindis de "éxito" al final del método para indicar al usuario que se copió el texto.