TextSelection в проблеме с TextField

После выбора всего текста в TextField с помощью TextSelection() он действительно выделяет весь текст, но после нажатия клавиши на клавиатуре он начинает добавлять нажатые буквы / цифры в начало текста, а не удалять старый и заменять его на вновь набранные буквы / цифры.

Это ожидаемое поведение? Если да, могу ли я программно выделить текст, а затем заменить его нажатием клавиши на клавиатуре?

Вот как я выделяю текст:

manualEditorNode.addListener(() {
  if (manualEditorNode.hasFocus) {
    manualInputController.selection = TextSelection(
        baseOffset: 0, extentOffset: manualInputController.text.length);
  }
});

person user6704969    schedule 27.08.2018    source источник
comment
Я создам отчет об ошибке. Было бы здорово, если бы вы сначала проверили, можете ли вы по-прежнему воспроизводить в master канале.   -  person Günter Zöchbauer    schedule 27.08.2018
comment
@ GünterZöchbauer В настоящее время я нахожусь на канале master. Может, стоит попробовать dev канал?   -  person user6704969    schedule 27.08.2018
comment
Нет, если это не работает в master, просто создайте проблему с выводом flutter doctor -v   -  person Günter Zöchbauer    schedule 27.08.2018


Ответы (1)


В моей программе у меня работает следующее. Может можно что-то подобное попробовать?

var cursorPos = textInputController.selection;
setState(() {
  textInputController.text = newInput;

  if (cursorPos.start > newInput.length) {
    cursorPos = new TextSelection.fromPosition(
        new TextPosition(offset: newInput.length));
  }
  textInputController.selection = cursorPos;
});
person Herman    schedule 28.08.2018