繁体   English   中英

错误:找不到正确的提供者<clientsprovider>在 flutter 中的此客户小部件上方?</clientsprovider>

[英]Error: Could not find the correct Provider<ClientsProvider> above this Clients Widget in flutter?

我从 Api 获取客户列表,在客户列表屏幕中,当我想更新客户端时,我浏览 DetailClient 屏幕而不是浏览编辑客户端屏幕,更新工作完美..但我想从警报对话框返回到第一个屏幕“客户列表”,以查看客户列表中的更新。 代码如下所示:

  Future<void> _saveForm() async {
    _form.currentState!.save();

     if (_client.id!.isNotEmpty) {
       await Provider.of<ClientsProvider>(context, listen: false).updateClients(_client.id!, _client);
         showDialog(
          context: context,
          builder: (context) => AlertDialog(
                title: Text('Client has been updated!'),
                actions: [
                  TextButton(
                    onPressed: () {
                      Navigator.of(context).push(
                        MaterialPageRoute(builder: ((context) => Clients())));
                    },
                    child: Text('Okay'),
                  ),
                ],
              ));
     }else{

尝试导航时出现以下错误:

错误:在此客户小部件上方找不到正确的提供者

发生这种情况是因为您使用的BuildContext不包括...提供者

先感谢您

您需要使用MultiProvider包装您的顶级小部件,以便能够在整个上下文中找到您的提供者。

void main(){
   runApp(
      MultiProvider(
       providers: [
         Provider<ClientsProvider>(
            create: (_) ClientsProvider(),
         )
       ],
       child: YourFirstWidget(),
      )
 );

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM