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

Flutter中如何为String设置条件?循环生成TextField的序号补零问题

报错原因

你编写的三目运算符真值分支存在语法错误:Dart 不支持"0"i + 1这种字符串和变量直接拼接的写法,插值表达式${}内的代码必须符合 Dart 语法规范,因此抛出Expected to Find '}'编译错误。

正确实现方案

方案1:修正原有三目表达式写法

调整真值分支的字符串拼接逻辑即可:

labelText: '${i < 10 ? "0${i + 1}" : (i + 1).toString()}',

方案2:使用 Dart 内置补位方法(更推荐)

Dart 字符串内置的padLeft方法专门用于左侧补位,无需手动写条件判断,代码更简洁易维护:

labelText: (i + 1).toString().padLeft(2, '0'),
  • 第一个参数为最终需要的字符串总长度,你的需求为2位序号,因此填2
  • 第二个参数为长度不足时左侧填充的字符,填'0'即可实现自动补0的效果

内容的提问来源于stack exchange,提问作者sid heart

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:54:03