Textarea – курсор перемещается в конец – реагироватьHtml

Программисты Html
Ответить
Anonymous
 Textarea – курсор перемещается в конец – реагировать

Сообщение Anonymous »

Когда я печатаю что-то в текстовой области, все работает нормально. Но когда я пытаюсь вернуть курсор назад, чтобы добавить/отредактировать текст, после ввода одного символа он перемещается в конец.
Код:

Код: Выделить всё

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' },
})
)

Код handleOrderChange:

Код: Выделить всё

_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);

};
После того, как я попытался исправить этот код, я включил setTimeout удалил e.preventdefault() и удалил дублирующую строку AddModuleState, это улучшилось много, но проблема остается!
Моя попытка:

Код: Выделить всё

_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);
};
Некоторая информация, которая может помочь:

[*]Это часть приложения, в котором врачи назначают анализы пациентам.
Некоторые сведения, которые могут помочь:

Это часть приложения, в котором врачи назначают анализы пациентам.
li>
Текст этой текстовой области должен оставаться там, пока мы сохраняем наш заказ.
[*]Мы попробовали удалить всю логику в onChange, это сработало но текст не сохраняется в текстовой области после того, как мы пытаемся редактировать наши заказы.


Подробнее здесь: https://stackoverflow.com/questions/784 ... -end-react
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»