Как я могу запустить будущее, прежде чем строить флаттер? - PullRequest
0 голосов
/ 18 марта 2020

Я не могу запустить getMapCurrencies перед сборкой, и мне нужны значения в listCurrencies перед представлением. Я не могу поместить будущего сборщика в сборку, потому что я не хочу выводить список валют много раз, только один раз.

Пожалуйста, помогите

getMapCurrencies() {
    currencies.getCurrenciesCheck().then((val) {
      listCurrencies = val;
    });
  }

class _CurrencyWidgetState extends State<CurrencyWidget> {
  @override
  void initState() {
    // TODO: implement initState
    getMapCurrencies();
    super.initState();   
  }

1 Ответ

0 голосов
/ 18 марта 2020

Что вы подразумеваете под "Я не хочу приносить списки валют много раз, всего один раз"

FutureBuilder - это один из способов сделать это. Он будет отображать виджет после заполнения listCurrencies .

Другой способ - использовать троичный оператор

listCurrencies != null ? (widget using listcurrencies) : (a progress indicator)

Редактировать:

Также вы должны установить listCurrencies, используя

setState((){
    listCurrencies = val;
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...