小编And*_*rei的帖子

更改项目状态后如何更新列表?(颤动和提供者)

我遇到这个问题:我有一个项目列表,每个项目都有一个最喜欢的状态,并且我有一个显示最喜欢的项目的页面。我希望页面在切换收藏夹状态时更新并删除非收藏夹项目。

尝试ChangeNotifierProxyProvider也没有成功,状态正在更改,但通知监听器不会更新主列表。setState我知道应用程序中间有一个空的技巧只是为了触发刷新,但我知道有一个更简洁的涉及 Provider 的方法,但我不知道。

这是代码(我让它尽可能短)

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      create: (context) => Collection(),
      builder: (context, child) => MaterialApp(
        home: MyHomePage(),
      ),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final _list = Provider.of<Collection>(context).favItems;

    return Scaffold(
      appBar: AppBar(
        title: Text("Test"),
      ),
      body: Container(
        child: ListView.builder(
          itemCount: _list.length,
          itemBuilder: (_, index) => ChangeNotifierProvider.value(
            value: _list[index],
            child: CardWidget(),
          ),
        ),
      ),
    );
  }
}

class CardWidget …
Run Code Online (Sandbox Code Playgroud)

provider state state-management dart flutter

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

dart ×1

flutter ×1

provider ×1

state ×1

state-management ×1