【问题标题】:TextSelection in a TextField issueTextField 问题中的 TextSelection
【发布时间】:2019-02-01 19:20:09
【问题描述】:

在使用TextSelection() 选择TextField 中的整个文本后,它确实选择了整个文本,但是在按下键盘上的一个键后,它开始将按下的字母/数字添加到文本的开头而不是删除旧的并用新输入的字母/数字替换它。

这是预期的行为吗?如果是这样,有什么方法可以通过编程方式选择文本,然后在按下键盘上的键时替换它?

这就是我选择文本的方式:

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

【问题讨论】:

  • Id 创建错误报告。如果您首先检查您是否仍然可以在master 频道中重现,那就太好了。
  • @GünterZöchbauer 我目前在master 频道。我应该试试dev 频道吗?
  • 不,如果它在master 中不起作用,只需在flutter doctor -v 的输出中创建一个问题

标签: dart flutter textfield textselection


【解决方案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;
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多