Неверное значение константы с использованием переменной в качестве параметра

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

в Text виджет флаттера

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

Здесь это дает ошибку

Неверное значение константы

Нужно ли использовать обязательное значение const? Почему мы не можем использовать var или double?

Теги:
flutter
dart

3 ответа

1

Вы объявляете ваш Text виджет как const, который требует, чтобы все его дочерние const также были const. Если вы хотите это исправить, вам не следует использовать виджет const Text в этом случае, так как вы хотите передать неконстантную переменную.

Причина этого заключается в том, что Flutter использует ключевое слово const в качестве указателя для виджета, который никогда не перестраивается, поскольку он будет оцениваться во время компиляции и только один раз. Следовательно, каждая его часть также должна быть постоянной.

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

Подробнее об этом читайте в этой статье.

0

Как сказал @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"),
);
-1

если вы хотите использовать var или double textSize = 10.0; тогда текстовый виджет не должен быть константным. удалить const перед текстом()

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню