You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter代码报错Expected to find ']',请求排查main.dart问题

Flutter代码报错“Expected to find ']'”排查解决

问题原因

报错的核心是语法结构错误:你把onChanged: _controller.setLogin作为独立元素放在了Column的children列表中,但这个语句是TextField的专属属性,不属于独立Widget,直接放在列表里会破坏结构,导致编译器无法正确解析列表,从而提示缺少]。

修复后的代码

@override
Widget build(BuildContext context) {
  return Scaffold(
    body: Container(
      padding: const EdgeInsets.all(28),
      color: Colors.blue.shade800,
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          const Icon(Icons.people, size: 78),
          // 将onChanged属性移至第一个TextField内部
          TextField(
            decoration: const InputDecoration(label: Text("Login:")),
            onChanged: _controller.setLogin,
          ),
          const TextField(
            decoration: InputDecoration(label: Text("Senha:")),
            obscureText: true,
            onChanged: _controller.setPass,
          ),
          const SizedBox(
            height: 25,
          ),
          ElevatedButton(
            onPressed: () {
              _controller.auth();
            },
            child: const Text("Login"),
          ),
        ],
      ),
    ),
  );
}

额外注意事项

  • 第一个TextField原本的const修饰符必须移除,因为添加的onChanged属性引用了外部的_controller,无法被编译为常量
  • 确保_controller的setLogin和setPass方法符合ValueChanged<String>类型的回调要求

内容的提问来源于stack exchange,提问作者Guilherme Meireles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 15:00:55