Flutter:如何在 TextField 上使用 focusNode 属性

Ahm*_*yid 10 dart flutter

TextField当用户点击它时,我想控制小部件。如何实现该focusNode属性?说明中没有详细说明。

Gün*_*uer 19

FocusNode focusNode;

void initState() {
  focusNode = new FocusNode();

  // listen to focus changes
  focusNode.addListener(() => print('focusNode updated: hasFocus: ${focusNode.hasFocus}')); 
}

void setFocus() {
  FocusScope.of(context).requestFocus(focusNode);
}

Widget build() {
  return
  ...
  new TextField(focusNode: focusNode, ...);
}
Run Code Online (Sandbox Code Playgroud)


小智 6

不要忘记在之后处理它以避免内存泄漏:

@override
  void dispose() {
    focusNode.dispose();
    super.dispose();
  }
Run Code Online (Sandbox Code Playgroud)