首页 > 解决方案 > 使用变量作为参数的常量值无效

问题描述

var textSize = 10.0;
// or
double textSize = 10.0;

进入TextFlutter 的 Widget

child: const Text('Calculate Client Fees',
                   style: TextStyle(fontSize: textSize),)

这里给出错误

无效的常数值

我们必须强制const使用价值吗?为什么我们不能使用varor double

标签: dartflutter

解决方案


您将您的Text小部件声明为 a const,这要求它的所有子级const也是如此。如果要解决此问题,则不应const Text在这种情况下使用小部件,因为您要传递非常量变量。

这样做的原因是 Flutter 使用const关键字作为一个小部件的指示符,它永远不会重新构建,因为它将在编译时被评估,并且只被评估一次。因此,它的每个部分也必须保持不变。

double textSize = 10.04;
// ...
child: Text('Calculate Client Fees', style: TextStyle(fontSize: textSize))

在这篇文章中阅读更多关于它的信息。


推荐阅读