因此,我在一系列“步骤”中共有5页,以完成一项操作。这一切都很好,花花公子。我正在将PageView与各个子页面一起使用。
问题是,只有第一页(在TextField小部件上具有自动焦点)才真正获得焦点。当用户遍历其他表单类型页面时-即使有自动对焦:每个页面都为true ..不会触发它们,也不会设置任何焦点。
这使我感到困惑。每个页面在页面之间移动时都会“实时”渲染(并销毁)..因此不确定为什么未设置焦点。
一般的小部件树是
Scaffold
PageView
[children pages]
所以也许它与焦点在Scaffold上下文级别上有关,所以..啊..我实际上不知道..我想当第2页具有自动对焦的子级时-在构建时再次设置整体上下文自动对焦?
有点困惑-帮助表示赞赏!
干杯!
答案 0 :(得分:0)
我遇到了同样的问题,并使用焦点节点解决了它。 就我而言,pageView的所有子级都是有状态的小部件
解决方案:
final FocusNode _focusNode = FocusNode();
@override
void initState() {
WidgetsBinding.instance.addPostFrameCallback((_) =>FocusScope.of(context).requestFocus(_focusNode));
}
比在窗口小部件中
child: TextFormField(
focusNode: _focusNode,
)