我正在尝试触发didChangeDependencies RefreshIndicator时调用onRefresh。那有可能吗?这是我的代码/尝试:

RefreshIndicator(
  onRefresh: () {
    return didChangeDependencies;
  },
  child: ...
),
但是这段代码给我一个错误

当我在didChangeDependencies中进行一些业务登录并且想在触发onRefresh时重用它时,您能告诉我如何使此代码起作用吗?
编辑:我也尝试过这种方式
RefreshIndicator(
  onRefresh: didChangeDependencies,
  child: ...
),
但是我然后收到其他错误:

EDIT2:这是我的didChangeDependencies方法
@override
  void didChangeDependencies() {
    if (_isInit) {
      setState(() {
        _isLoading = true;
      });
      standings = Provider.of<Matches>(context).standings;

      if (standings.length == 0) {
        Provider.of<Matches>(context).fetchStanding().then((fetchedStandings) {
          standings = fetchedStandings;
          if (mounted) {
            setState(() {
              _isLoading = false;
            });
          }
        });
      } else {
        setState(() {
          _isLoading = false;
        });
      }
    }

    _isInit = false;
    super.didChangeDependencies();
  }

最佳答案

我将在didChangeDependencies中提取整个函数,然后在didChangeDependencies中将其与super.didChangeDependencies()一起调用;
然后在中使用新功能:

RefreshIndicator(
  onRefresh: () {
    newFunction();
  },
  child: ...
),

关于flutter - 可以在函数 'onPress'上调用didChangeDependencies吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64114764/

10-10 20:54