Несколько связанных с сущностью CupertinoTextFields, которые экономят на фокусе
У меня есть список некоторых записей, которые я хочу отредактировать. Я создаю 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;
}
);
};
По какой-то странной причине в симуляторе (не тестированном на реальном устройстве), когда я нажимаю на многие из этих текстовых полей, я получаю следующее:
Как привязать фокус даже к TextField, не используя FocusNode / без мигания всех этих курсоров?
1 ответ
Таким образом, я решил проблему, я думаю. Причина, по которой он был глючным, заключалась в том, что я был на v1.1.8, после обновления до v1.5.4 он как-то исправился, не был идеальным, но был лучше. После того как я переехал FocusNodes
создание кода формы сборки для initState
метод это стало еще лучше, но курсор все еще мигал в начале TextField
, Это было потому, что я позвонил setState
в onChange
обработчик, который каким-то образом заставил TextField перерисовать и действовать так странно.