0

我有一些条目的列表,我想在焦点上进行编辑。我为每个条目创建了 FocusNode,也为每个条目创建了 CupertinoTextField。

var textField = (UserMotivator um) {
    var controller;
    var focusNode = new FocusNode();
    focusNode.addListener(() {
        if (!focusNode.hasFocus) {
            post(um);
        }
    });

    var controller = TextEditingController(text: um.text);

    return CupertinoTextField(
        focusNode: focusNode,
        controller: controller,
        onChanged: (String value) {
            um.text = value;
        }
    );
};

出于某种奇怪的原因,在模拟器中(未在真实设备上测试),当我点击其中许多 TextFields 时,我得到了这个:

在此处输入图像描述

如何在不使用 FocusNode/ 且所有这些光标都闪烁的情况下将焦点绑定到 TextField?

4

1 回答 1

0

所以我解决了我认为的问题。它有问题的原因是我在 v1.1.8 上,更新到 v1.5.4 后它以某种方式得到了修复,并不完美但更好。在我将FocusNodes创建代码表单 build 移动到initState方法之后,它变得更好了,但光标在TextField. 这是因为我调用setStateonChange处理程序,它以某种方式导致 TextField 重绘并表现得如此怪异。

于 2019-05-13T15:08:29.117 回答