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

Flutter问题:无法修改列表项的文本粗细

问题原因及解决方案

错误原因

你遇到的「Error: Invalid constant value」是因为**const修饰的对象必须完全由编译时常量构成**。你代码里的TextStyle加了const,但fontWeight的取值依赖item.boldTitle——这个值是运行时才会确定的动态数据,不属于编译时常量,所以const校验不通过,直接报错。

修复代码

把TextStyle前面的const删掉即可,修改后的代码如下:

title: Text(
  item.name,
  style: TextStyle(
    color: Colors.black,
    fontWeight: item.boldTitle ? FontWeight.bold : FontWeight.normal,
  ),
),

补充说明

只有当TextStyle的所有属性都是固定不变的编译时常量时,才适合用const修饰它来做性能优化。只要有任何一个属性依赖运行时的动态数据(比如这里的item.boldTitle),就不能给TextStyle加const。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:12:04