首页 > 解决方案 > 错误:提供者消费者 - 飞镖(return_of_invalid_type)

问题描述

错误:无法从方法“build”返回类型为“Consumer”的值,因为它的返回类型为“Widget”.dart(return_of_invalid_type)

import 'package:lojamobile/models/carrinho.dart';
import 'package:lojamobile/models/produtos.dart';
import 'package:provider/provider.dart';      

      @override
      Widget build(BuildContext context) {
        return Consumer<AppStateModel>(
          builder: (context, model, child) {
            return CustomScrollView(
              slivers: <Widget>[
                const CupertinoSliverNavigationBar(
                  largeTitle: Text('Carrinho de Compras'),
                ),
                SliverSafeArea(
                  top: false,
                  minimum: const EdgeInsets.only(top: 4),
                  sliver: SliverList(
                    delegate: _buildSliverChildBuilderDelegate(model),
                  ),
                )
              ],
            );
          },
        );
      }
    }

标签: flutterprovider

解决方案


包裹你的Consumer内心Container。那应该解决它。

尝试这个,

`

  @override
  Widget build(BuildContext context) {
    return Container(
    child: Consumer<AppStateModel>(
    builder: (context, model, child) {
      return CustomScrollView(
        slivers: <Widget>[
          const CupertinoSliverNavigationBar(
            largeTitle: Text('Carrinho de Compras'),
          ),
          SliverSafeArea(
            top: false,
            minimum: const EdgeInsets.only(top: 4),
            sliver: SliverList(
              delegate: _buildSliverChildBuilderDelegate(model),
            ),
          )
        ],
      )
    ) 
  },
);
  }
}

`


推荐阅读