带有Feed的Flutter提供程序Listview

您与提供商之间的管理状态, 但是我有问题

InkWell(
                                  onTap: () {
                                    if (contextLikeState.LikeState2 == false) {
                                      LikeControll(contextLikeState.LikeState2);
                                      contextLikeState.on2();
                                    } else {
                                      LikeControll(contextLikeState.LikeState2);
                                      contextLikeState.off2();
                                    }
                                  },child: (contextLikeState.LikeState2 == false)
                                      ? Icon(
                                          Icons.favorite_border,color: Colors.black54,size: 20,)
                                      : Icon(
                                          Icons.favorite,color: Colors.red,),

上面的代码,就像打开和关闭按钮一样

我正在使用ListView创建Feed,并且尝试使用提供程序来管理“赞”按钮。

但是与我所想的不同,Like On和Off的功能正常工作,但是所有提要都具有相同的提供程序。

例如,如果您在一个供稿上按“赞”,则即使您移至另一个供稿,也未按该供稿。

提供者代码:


class ContextLikeState extends ChangeNotifier{
  bool _LikeState = false;
  bool get LikeState2 => _LikeState;

  set LikeState2(bool val){
    _LikeState = val;
    notifyListeners();
  }
  on2(){
    _LikeState = true;
    notifyListeners();
  }

  off2(){
    _LikeState = false;
    notifyListeners();
  }
}

class MyApp extends StatelessWidget{

  static const String _title = 'flutter code';
  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        ChangeNotifierProvider<BlocProvider>.value(value: BlocProvider()),ChangeNotifierProvider<ProfileLikeState>.value(value: ProfileLikeState()),ChangeNotifierProvider<ContextLikeState>.value(value:ContextLikeState()),],child: MaterialApp(
        debugShowCheckedmodeBanner: false,title: _title,home: LoginScreen(),);
  }
}

我们如何管理单个Feed?

l0123b0123 回答:带有Feed的Flutter提供程序Listview

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3160678.html

大家都在问