флаттер анонимные / встроенные функции для свойств виджета - PullRequest
0 голосов
/ 10 июля 2020

Я новичок в дротике и флаттере, я пытаюсь использовать встроенную функцию для возврата значения.

SizedBox(
  height: _getheight()
),

double _getheight(){
//do some stuff
return 20.0;
}
//WORKS
SizedBox(
height: (){return 20.0;}
),
//(Won't build)

ошибка: тип аргумента 'double Function ()' не может присваивается типу параметра 'double'.

SizedBox(
 height: (){return 20.0;} as double
),

- строится, но не выполняется ошибка во время выполнения: type '() => double' не является подтипом типа 'double' в типе cast

1 Ответ

0 голосов
/ 10 июля 2020

height принимают значение типа double. В первом примере вы выполняете _getheight(), а затем передаете результат этого выполнения как параметр с именем height.

Во втором примере вы пытаетесь передать height функцию в качестве аргумента ( набранные как double Function()), которые недопустимы, поскольку height определен как double.

Затем вы можете сделать:

SizedBox(
height: (){return 20.0;}()
),

Что будет выполнять метод (см. последний ()) и используйте возвращаемое значение в качестве аргумента для height.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...