Flutter中使用变量为Text widget赋值时出现dart (missing identifier)错误
Flutter中使用变量为Text widget赋值时出现dart (missing identifier)错误
嘿,这个问题其实很好解决!你遇到的missing identifier错误,根源是字符串插值时多写了一个多余的美元符号$。
Dart的字符串插值规则很明确:用$变量名就能插入变量值,可你写了'$fooXXX$'——末尾的那个$后面没有对应的变量名(也就是标识符),Dart解析器搞不清要处理什么,自然就报错啦。
具体修复步骤:
- 修正Text widget的字符串格式,直接去掉末尾多余的
$即可:
Text( '$fooXXX' ),
或者更简洁的写法——既然fooXXX本身就是字符串类型,你可以直接把它传给Text:
Text(fooXXX),
- 额外提个实用小建议:你现在用了
TextEditingController,但当前的handleStateChange方法并没有更新fooXXX的值,所以点击按钮后TextField的内容会变,但Text widget不会跟着刷新。如果想要两者同步,记得在监听方法里调用setState更新变量:
void handleStateChange() { setState(() { fooXXX = fooXXXController.text; }); }
这样不管是点击按钮修改控制器文本,还是用户在输入框里手动打字,Text widget都会实时显示最新内容哦。
备注:内容来源于stack exchange,提问作者nobody special
相关产品推荐
相关产品推荐

