Textbereich – Cursor bewegt sich zum Ende – reagieren
Posted: 16 Jan 2025, 02:33
Wenn ich etwas in den Textbereich eingebe, funktioniert es einwandfrei. Aber wenn ich versuche, den Cursor zurück zu bewegen, um Text hinzuzufügen/zu bearbeiten, bewegt er sich nach der Eingabe eines Zeichens zum Ende.
Code:
handleOrderChange-Code:
Nachdem ich versucht hatte, diesen Code zu reparieren, habe ich setTimeout eingefügt, e.preventdefault() entfernt und die doppelte AddModuleState-Zeile entfernt, es hat sich verbessert Vieles, aber das Problem bleibt bestehen!
Mein Versuch:
Einige Hintergrundinformationen, die hilfreich sein könnten:
Code:
Code: Select all
React.createElement('textarea', {
name: 'SpecialInstruction',
id: 'rad_SpecialInstruction', value: this.props.stateobj.SpecialInstruction,
onFocus: (event) => {
const currentValue = event.target.value;
//event.target.value = currentValue + '.';
//this.handleOrderChange(event); // trigger the onChange event handler
},
onChange: this.handleOrderChange, className: 'form-control', maxLength: 512, style: { fontSize: '12px !important' },
})
)
Code: Select all
_this.handleOrderChange = function (e) {
_this.props.AddModuleState(_defineProperty({}, e.target.name, e.target.value), "RAD");
// Store the current cursor position
const cursorPosition = e.target.selectionStart;
// Prevent the default behavior of the input element
e.preventDefault();
_this.props.AddModuleState(_defineProperty({}, e.target.name, e.target.value), "RAD");
// Restore the cursor position
e.target.setSelectionRange(cursorPosition, cursorPosition);
};
Mein Versuch:
Code: Select all
_this.handleOrderChange = function (e) {
_this.props.AddModuleState(_defineProperty({}, e.target.name, e.target.value), "RAD");
// Store the current cursor position
const cursorPosition = e.target.selectionStart;
setTimeout(() => {
e.target.setSelectionRange(cursorPosition, cursorPosition);
}, 0);
};
- Dies ist Teil einer Anwendung, bei der Ärzte Tests für Patienten anordnen.
Der Text dieses Textbereichs soll dort gespeichert bleiben, während wir unsere Bestellung speichern. - Wir haben versucht, die gesamte Logik in onChange zu entfernen, es hat funktioniert aber der Text wird nicht im Textbereich gespeichert, nachdem wir versucht haben, unsere Bestellungen zu bearbeiten.