var textSize = 10.0;
// or
double textSize = 10.0;
в Text
виджет флаттера
child: const Text('Calculate Client Fees',
style: TextStyle(fontSize: textSize),)
Здесь это дает ошибку
Неверное значение константы
Нужно ли использовать обязательное значение const
? Почему мы не можем использовать var
или double
?
Вы объявляете ваш Text
виджет как const
, который требует, чтобы все его дочерние const
также были const
. Если вы хотите это исправить, вам не следует использовать виджет const
Text
в этом случае, так как вы хотите передать неконстантную переменную.
Причина этого заключается в том, что Flutter использует ключевое слово const
в качестве указателя для виджета, который никогда не перестраивается, поскольку он будет оцениваться во время компиляции и только один раз. Следовательно, каждая его часть также должна быть постоянной.
double textSize = 10.04;
// ...
child: Text('Calculate Client Fees', style: TextStyle(fontSize: textSize))
Подробнее об этом читайте в этой статье.
Как сказал @creativecreatorormaybenot, вы используете const Text()
поэтому у вас там должно быть значение const
. Вы можете использовать
const double textSize = 10.0;
или же
const textSize = 10.0;
Как в этом случае.
Padding(
padding: const EdgeInsets.all(value), // this value has to be a 'const' because our padding: is marked const
child: Text("HI there"),
);
Padding(
padding: EdgeInsets.all(10), // any double value
child: Text("HI there"),
);
если вы хотите использовать var
или double textSize = 10.0;
тогда текстовый виджет не должен быть константным. удалить const
перед текстом()
child: Text('Calculate Client Fees', style: TextStyle(fontSize: textSize),)