Flutter挂钩:在TextEditingController中使用useEffect时出错



我想将useEffect与TextEditingController一起使用,而不是使用TextEditingControl。

错误:初始化延迟错误。我没有正确地编写init和处理吗?

class EffectTest extends HookWidget {
  const EffectTest({super.key});
  @override
  Widget build(BuildContext context) {
    late TextEditingController controller;
    useEffect(
      () {
        controller = TextEditingController();
        return () {
          controller.clear();
        };
      },
      [],
    );
    return MaterialApp(
      home: Scaffold(
        body: Column(
          children: [
            Text(controller.value.text),
            TextField(
              controller: controller,
              onSubmitted: (value) {
                print(controller.value.text);
              },
            ),
          ],
        ),
      ),
    );
  }
}
final TextEditingController controller = useTextEditingController();

flutter钩子将处理所有事情,您不必在useEffect中初始化它。

相关内容

  • 没有找到相关文章

最新更新